使用即时js库时出现问题。
let moment = require("moment-timezone")
date = '02/15/2018 5:00 PM'
fmt = 'MM/DD/YYYY hh:mm A'
timezone = 'America/New_York'
moment.tz(date, fmt, timezone) //Statement 1
Output> moment.parseZone(“ 2018-02-15T17:00:00.000-05:00”)
moment().tz(timezone) //Statement 2
Output> moment.parseZone(“ 2018-06-26T04:33:51.173-04:00”)
两个语句都使用相同的时区,但时差不同于UTC。 第一个显示5个小时的差异,第二个显示4个小时的差异。
如果我使用以下格式,那么它将显示正确的日期时间。
moment.tz({year:2018, month:2, day:15, hour:17}, timezone) //statement3
Output> moment.parseZone(“ 2018-03-15T17:00:00.000-04:00”)
我不明白为什么语句1没有给出正确的日期时间。
感谢您的帮助。
答案 0 :(得分:0)
差异是因为第一个日期是夏令时以外的2月,而第二个日期是夏令时内的6月。因此,每个日期的UTC偏移分别是-5和-4小时。
请记住,大多数时区的UTC偏移量会随一年中的时间而变化,从不假定您代码中的固定偏移量。