我有一个对象数组,其中每个对象都有一个日期属性。
当我尝试使用这样的电子表格公式根据日期过滤此数组时
[Date]=Date(2017,8,2)
此公式仅适用于时区 +1:00。它不适用于任何其他时区。我怎样才能使这个公式适用于任何时区?
我正在使用 Grapecity 的扩展视图库。
我有一个对象数组,其中每个对象都有一个日期属性。
当我尝试使用这样的电子表格公式根据日期过滤此数组时
[Date]=Date(2017,8,2)
此公式仅适用于时区 +1:00。它不适用于任何其他时区。我怎样才能使这个公式适用于任何时区?
我正在使用 Grapecity 的扩展视图库。
我也找不到在 SpreadView 查询中设置时区的任何方法。在此处对类似查询的回答中,他们提到他们的控件也不支持时区。但是,您可以应用中间解决方案。当您传递日期对象时,他们似乎正在考虑当前浏览器的时区Date(yyyy,mm,dd)
。因此,如果您可以将日期转换为您在浏览器的时区接收的数据(或您拥有的对象数组),理论上它将解决您的问题。您可以Date
使用 moment.js 将对象数组中的字段转换为-
cons convertDateTimeToBrowserTime = (dateTimeWithTimeZone)
=> moment(dateTimeWithTimeZone, 'YYYY-MM-DDTHH:mm:ssZ').local().format('YYYY-MM-DD')
// with recent version of moment, you can use a slightly shorter syntax like:
// => moment(dateTimeWithTimeZone, moment.ISO_8601).local().format(YYYY-MM-DD)
这将根据浏览器的时区将集合中的日期值转换为适当的日期。在此预处理之后,您的给定查询应该按预期工作。