3

我有以下日期:

var datestr = "11/11/2012 10:55"

当我执行以下操作时:

var datems = new Date(datestr).getTime();

我得到的毫秒数似乎不是正确的毫秒数,因为它似乎比时间要早得多。如何将上面的“datestr”转换为毫秒(相对于 GMT)?

4

1 回答 1

3

一种可能性是,如果字符串未指定时区,则Date假定为当地时间。

如果您的所有日期字符串都采用该格式,则可以在解析时为其附加时区:

var datems = new Date(datestr + " UTC").getTime();

或者您必须使用本地偏移量来查找 UTC:

var localDate = new Date(datestr);
var datems = localDate.getTime() - (localDate.getTimezoneOffset() * 60 * 1000);
于 2013-04-04T20:30:31.503 回答