toDate返回用户时区中的日期而不是解析的时区

时间:2014-05-28 15:01:34

标签: momentjs

我的用例是用户指定的时区与计算机的时区不同。

调用时刻对象上的format()按预期工作。

moment("2014-05-28 00:00:00 +0530").zone(-330).format()
"2014-05-28T00:00:00+05:30"

现在调用toDate()就我前一天结束的事情。

moment("2014-05-28 00:00:00 +0530").zone(-330).toDate()
Tue May 27 2014 12:30:00 GMT-0600 (Mountain Daylight Time)

如何获得我需要的日期?

感谢。

PS:我需要一个Jquery ui datepicker的Date对象。

修改 在此期间我正在使用:

var zoneDiffInMinutes = value.zone(); // value is a moment object
var date = value.toDate();
var tzDate = new Date(date.getTime() + (date.getTimezoneOffset() * 60000) - (zoneDiffInMinutes * 60000));

1 个答案:

答案 0 :(得分:0)

现在我正在使用:

var zoneDiffInMinutes = value.zone(); // value is a moment object
var date = value.toDate();
var tzDate = new Date(date.getTime() + (date.getTimezoneOffset() * 60000) - (zoneDiffInMinutes * 60000));