我有以下日期:
var datestr = "11/11/2012 10:55"
当我执行以下操作时:
var datems = new Date(datestr).getTime();
我得到的毫秒数似乎不是正确的毫秒数,因为它似乎比时间要早得多。如何将上面的“datestr”转换为毫秒(相对于 GMT)?
我有以下日期:
var datestr = "11/11/2012 10:55"
当我执行以下操作时:
var datems = new Date(datestr).getTime();
我得到的毫秒数似乎不是正确的毫秒数,因为它似乎比时间要早得多。如何将上面的“datestr”转换为毫秒(相对于 GMT)?
一种可能性是,如果字符串未指定时区,则Date
假定为当地时间。
如果您的所有日期字符串都采用该格式,则可以在解析时为其附加时区:
var datems = new Date(datestr + " UTC").getTime();
或者您必须使用本地偏移量来查找 UTC:
var localDate = new Date(datestr);
var datems = localDate.getTime() - (localDate.getTimezoneOffset() * 60 * 1000);