Javascript日期utcoffset并添加分钟

时间:2014-03-29 22:01:41

标签: javascript date timezone

我在这里做错了什么? 在以userPickedTime输入当前时间后,我无法将此与当前UTC时间匹配。

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

2 个答案:

答案 0 :(得分:1)

timezoneOffset只需几分钟,你就应该这样做:

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

答案 1 :(得分:0)

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

时间戳已经已经,并且Date对象构造函数期望您从纪元开始传递毫秒数,也就是UTC。

您应该只使用getUTC...函数,或toUTCStringtoISOString函数。

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