Javascript日期和添加分钟

Javascript Date utcoffset and adding minutes

本文关键字:分钟 添加 日期 Javascript      更新时间:2023-09-26

我哪里做错了?我不能得到这个匹配当前的UTC时间,在我输入我的当前时间作为userpicktime。

userPickedTime = new Date();
userPickedTime.setHours(3,30,0);
userTimeChoiceConvertedToUtc  = new Date (userPickedTime.getTime() + 
    (3600000*userPickedTime.getTimezoneOffset()));

timezoneOffset的单位是分钟,您应该这样做:

userTimeChoiceConvertedToUtc  = new Date (userPickedTime.getTime() + 
(userPickedTime.getTimezoneOffset() * 60000));

虽然Raul用分钟表示偏移量是正确的,而且您使用了错误的乘数,但是您真的不应该将偏移量添加到时间戳中。结果将是一个完全不同的时间点。

时间戳已经是UTC的,并且Date对象构造函数期望您以毫秒为单位从epoch传递,也是UTC的。

你应该只使用getUTC...函数,或者toUTCString,或者toISOString函数。

如果需要更具体的UTC值格式,可以考虑使用moment.js库。