Moment Timezone - Detect if given time is ambiguous
有没有办法在momentjs中检查一个时代是否含糊不清?
在
我觉得这样的事情会起作用:
1 2 3 4 5 | function hasAmbiguousWallTime(m) { var t = [60, -60, 30, -30]; var a = t.map(function(x) { return moment(m).add(x, 'm').format('HH:mm'); }); return a.indexOf(m.format('HH:mm')) > -1; } |
例子:
1 2 | hasAmbiguousWallTime(moment.tz("2011-11-06 01:00","America/Chicago")) // true hasAmbiguousWallTime(moment.tz("2011-11-06 00:00","America/Chicago")) // false |
请注意,对于偏移量不是30或60分钟更改的转换,这可能会失败,这在历史上已经发生。 更好的实现将测试时刻 - 时区数据中的已知转换点,或者针对本地派生的时刻扫描它们。 也就是说,上述内容足以满足大多数现代用途。