new Date(..).getTime()应以毫秒为单位返回时间戳.根据
documentation of momentJS表达式(..).valueOf()应该做同样的(给定日期返回时间戳,以毫秒为单位).
我检查了以下示例数据:
var timeStampDate = new Date("2015-03-25").getTime(); //timestamp in milliseconds? > 1427241600000 var timeStampMoment = moment("03-25-2015","MMDDYYYY").valueOf(); //timestamp in milliseconds? > 1427238000000
你可以看到结果是不一样的.
现在我正在寻找一个函数在momentJS,返回给我完全相同的数据表达式新的Date(..).getTime().
解决方法
日期构造函数
doc
The UTC time zone is used to interpret arguments in ISO 8601 format
that do not contain time zone information
Unless you specify a timezone offset,parsing a string will create a date in the current timezone
所以指定时刻构造函数中的时区导致与Date相同的行为:
var timeStampMoment = moment("03-25-2015 +0000","MM-DD-YYYY Z").valueOf(); //> 1427241600000