kendo: 如何从 OdataString 中排除时间部分
kendo: How to exclude time part from OdataString
我正在使用 toOdataString 方法将 filterExpression 转换为 OdataString。当字段为日期类型时,时间也被包含在内。
当用户选择某个日期时,比如 08-april-2021 在转换为 odataString 时它也会添加时间部分。
单位日期 eq 2021-04-08T00:00:00.000Z
用于复制的 Stackblitz:https://stackblitz.com/edit/angular-ivy-dzo3tn?file=src%2Fapp%2Fapp.ccomponent.ts
注意:在控制台中检查输出
可以像 $filter=date(unitdate) eq 2021-04-08 这样创建吗??
您实际上需要删除日期的时区部分。请检查以下代码:
let queryStr = `${toODataString(state)}`;
const regex = /T00:00:00\.000Z/gi;
const noTimeZoneQueryStr = queryStr.replace(regex, '');
console.log("noTimeZoneQueryStr", noTimeZoneQueryStr);
请在此处找到更新的 Stackblitz:https://stackblitz.com/edit/angular-ivy-w7m4kd?file=src%2Fapp%2Fapp.ccomponent.ts
编辑 关于注释:是的。请考虑以下代码:
let queryStr = `${toODataString(state)}`;
const dateStr = /(r=| )Units Date /g;
let newQueryStr = queryStr.replace(dateStr, 'date(Units Date) ');
const regex = /T00:00:00\.000Z/gi;
const noTimeZoneQueryStr = newQueryStr.replace(regex, '');
console.log("noTimeZoneQueryStr", noTimeZoneQueryStr);
请在此处找到更新的 Stackblitz:https://stackblitz.com/edit/angular-ivy-jqma46?file=src%2Fapp%2Fapp.ccomponent.ts
我正在使用 toOdataString 方法将 filterExpression 转换为 OdataString。当字段为日期类型时,时间也被包含在内。
当用户选择某个日期时,比如 08-april-2021 在转换为 odataString 时它也会添加时间部分。
单位日期 eq 2021-04-08T00:00:00.000Z
用于复制的 Stackblitz:https://stackblitz.com/edit/angular-ivy-dzo3tn?file=src%2Fapp%2Fapp.ccomponent.ts
注意:在控制台中检查输出
可以像 $filter=date(unitdate) eq 2021-04-08 这样创建吗??
您实际上需要删除日期的时区部分。请检查以下代码:
let queryStr = `${toODataString(state)}`;
const regex = /T00:00:00\.000Z/gi;
const noTimeZoneQueryStr = queryStr.replace(regex, '');
console.log("noTimeZoneQueryStr", noTimeZoneQueryStr);
请在此处找到更新的 Stackblitz:https://stackblitz.com/edit/angular-ivy-w7m4kd?file=src%2Fapp%2Fapp.ccomponent.ts
编辑 关于注释:是的。请考虑以下代码:
let queryStr = `${toODataString(state)}`;
const dateStr = /(r=| )Units Date /g;
let newQueryStr = queryStr.replace(dateStr, 'date(Units Date) ');
const regex = /T00:00:00\.000Z/gi;
const noTimeZoneQueryStr = newQueryStr.replace(regex, '');
console.log("noTimeZoneQueryStr", noTimeZoneQueryStr);
请在此处找到更新的 Stackblitz:https://stackblitz.com/edit/angular-ivy-jqma46?file=src%2Fapp%2Fapp.ccomponent.ts