我正在尝试检测我的日期是否在DST范围内。我要做的是遵循文档:https://momentjs.com/docs/#/query/is-daylight-saving-time/
以下代码始终返回false
:
import moment from 'moment';
console.log(moment('2020-12-31').isDST());
console.log(moment('2027-05-23').isDST());
console.log(moment([2011, 2, 12]).isDST());
console.log(moment([2018, 8, 14]).isDST());
console.log(moment().isDST());
现场演示可在此处获取:https://repl.it/repls/WatchfulDelayedLight
无法理解这里的错误。
答案 0 :(得分:1)
您可以使用moment-timezone而不是专门设置时区。否则它将使用机器上的本地时区,似乎它没有DST。
import moment from 'moment-timezone';
console.log(moment.tz('2020-12-31', 'Europe/London').isDST());
console.log(moment.tz('2027-05-23', 'Europe/London').isDST());
console.log(moment.tz([2011, 2, 12], 'Europe/London').isDST());
console.log(moment.tz([2018, 8, 14], 'Europe/London').isDST());
console.log(moment.tz(null, 'Europe/London').isDST());