New Date (..). getTime() не равно моменту (..). valueOf() в момент JS?
new Date(..).getTime()
должен вернуть отметку времени в миллисекундах. В соответствии с документацией momentJS выражение moment(..).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, которая возвращает мне те же самые данные, что и выражение new Date(..).getTime()
.
Ответы
Ответ 1
Конструктор даты doc:
Часовой пояс UTC используется для интерпретации аргументов в формате ISO 8601 которые не содержат информацию о часовом поясе
конструктор моментов doc:
Если вы не укажете смещение часового пояса, разбор строки приведет к созданию даты в текущем часовом поясе
поэтому указание часового пояса в конструкторе момента приводит к тому же поведению, что и Date:
var timeStampMoment = moment("03-25-2015 +0000", "MM-DD-YYYY Z").valueOf(); //> 1427241600000