如何独立于时区过滤日期?

How to filter date independent of Timezone?

我有一个对象数组,其中每个对象都有一个日期 属性。

当我尝试使用这样的 sheet 公式根据日期过滤此数组时

[Date]=Date(2017,8,2)

此公式仅适用于 +1:00 时区。它不适用于任何其他时区。我怎样才能让这个公式适用于任何时区?

我正在使用来自 Grapecity 的扩展视图库。

我也找不到在 SpreadView 查询中设置时区的方法。在对类似查询 here 的回答中,他们提到他们的控件也不支持时区。但是,您可以应用中间解决方案。当您传递像 Date(yyyy,mm,dd) 这样的日期对象时,他们似乎正在考虑当前浏览器的时区。因此,如果您可以在浏览器时区将日期转换为您正在接收的数据(或您拥有的对象数组),理论上它会解决您的问题。您可以使用 moment.js as-

转换对象数组中的 Date 字段
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)

这会根据浏览器的时区将集合中的日期值转换为适当的日期。经过此预处理后,您的给定查询应按预期工作。