我在这里做错了什么? 在以userPickedTime输入当前时间后,我无法将此与当前UTC时间匹配。
userPickedTime = new Date();
userPickedTime.setHours(3,30,0);
userTimeChoiceConvertedToUtc = new Date (userPickedTime.getTime() +
(3600000*userPickedTime.getTimezoneOffset()));
答案 0 :(得分:1)
timezoneOffset只需几分钟,你就应该这样做:
userTimeChoiceConvertedToUtc = new Date (userPickedTime.getTime() +
(userPickedTime.getTimezoneOffset() * 60000));
答案 1 :(得分:0)
虽然Raul是正确的,偏移量以分钟表示,并且您使用了错误的乘数,但您确实不应将偏移量添加到时间戳。结果将完全是一个不同的时间点。
时间戳已经已经,并且Date
对象构造函数期望您从纪元开始传递毫秒数,也就是UTC。
您应该只使用getUTC...
函数,或toUTCString
或toISOString
函数。
如果您需要更具体的UTC值格式,请考虑使用moment.js库。