2015-07-14 3 views
11

new Date(..).getTime() должен вернуть отметку времени в миллисекундах. Согласно documentation of momentJS, выражение moment(..).valueOf() должно делать то же самое (отметка времени возврата в миллисекундах на заданную дату).new Date (..). GetTime() не равно моменту (..). ValueOf() в момент JS?

Я проверил на следующем примере данных:

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().

+2

Это не исправить вашу проблему, но в целом это хорошая идея, чтобы иметь строку формата сопрягать формат ввода: 'moment (" 03-25-2015 "," MM-DD-YYYY ")' –

ответ

21

Дата Конструктор doc:

Часовой пояс: UTC используется для интерпретации аргументов в ISO 8601 формат , которые не содержат информации о часовом поясе

момент конструктор doc:

Если вы не указали смещение часового пояса, синтаксический анализ строки создаст дату в текущем часовом поясе

поэтому определение часового пояса в результатах момент конструктора в таком же поведении, как Дата:

var timeStampMoment = moment("03-25-2015 +0000", "MM-DD-YYYY Z").valueOf(); //> 1427241600000 
Смежные вопросы