我正在尝试将特定日期转换为utc(将其保存在db中),并在获取后将其显示为本地时间。当我使用时刻时,与js Date对象相比总有半小时的延迟,任何想法为什么?
日期是2016年5月8日,浏览器时区是印度
将日期转换为Utc: 时刻:
moment('2016-05-08', 'YYYY-MM-DD').utc().format('YYYY-MM-DD HH:MM:SS Z')
Result: "2016-05-07 18:05:00 +00:00"
日期:
new Date('2016/05/08').toUTCString()
Result: "Sat, 07 May 2016 18:30:00 GMT"
我相信18:30是正确的答案而不是18:05
从Utc到目前为止: 时刻:
moment('2016-05-07 18:05:00 +00:00', 'YYYY-MM-DD HH:MM:SS Z').format('YYYY-MM-DDTHH:MM:SS')
Result: "2016-05-07T23:05:00" //This should be 8th May since I had started with 8th May
日期:
new Date("Sat, 07 May 2016 18:30:00 GMT").toString()
Result: "Sun May 08 2016 00:00:00 GMT+0530 (India Standard Time)" //this is the correct answer since I had initially started with 8Th May.
为什么时刻会出现这种滞后?
答案 0 :(得分:2)
您使用大写M
代替mm
分钟,而且它会给您几个月的时间。切换到小米,一切都很好。
moment('2016-05-08', 'YYYY-MM-DD').utc().format('YYYY-MM-DD HH:mm:ss Z')
"2016-05-07 18:30:00 +00:00"