Есть много вопросов о том, как преобразовать метку времени в гггг-мм-дд, но я пытаюсь сделать это наоборот.

У меня есть массив дат в формате 2013-02-25, но я хочу, чтобы они были временными метками js.

У меня есть массив дат, например ["2013-02-25", "2013-02-22", "2013-02-21"], и я пробовал

new Date(dateArray[0]).getTime() / 1000;

Но это дает неправильный результат, так как "2013-02-25" преобразовано в 1361750400, что соответствует пятнице, 16 января 1970 г., 18:15:50 GMT

Какие-либо предложения о том, как это сделать в javascript, пожалуйста?

0
James 2 Апр 2013 в 22:16
1
Какая связь между такими значениями, как 442.80 и датой гггг-мм-дд?
 – 
zneak
2 Апр 2013 в 22:18
1
Нет. Ваша дата обозначается как 1361750400000 (3 дополнительных нуля). это правильная отметка времени в миллисекундах JS. 1361750400 (без нулей) - стандартная метка времени unix, дата 25 февраля 2013 года.
 – 
Marc B
2 Апр 2013 в 22:20
Извините, я вставил неправильные значения, я отредактировал свой вопрос, чтобы показать массив дат. Также, когда я делаю console.log, он выводит 1361750400, поэтому я не уверен, куда делись 3 дополнительных нуля.
 – 
James
2 Апр 2013 в 22:29
1
Вы делаете / 1000, вот где лишние 3 нуля.
 – 
Benjamin Gruenbaum
2 Апр 2013 в 22:34
Спасибо, Бенджамин, я сегодня слишком долго работал, и мой мозг переполнен.
 – 
James
2 Апр 2013 в 22:37

1 ответ

Лучший ответ

Обновление: вопрос был обновлен, чтобы использовать этот код для анализа дат.

Теперь ваша проблема в том, что вы делаете new Date(dateArray[0]).getTime() / 1000;. Не делите на 1000. Попробуйте new Date(dateArray[0]).getTime().


Я думаю, что очевидное решение - это то, что вы пропустили:

var date = new Date("2013-02-25")// contains Mon Feb 25 2013 02:00:00 
3
Community 7 Окт 2021 в 08:59
Спасибо, хотя на самом деле, если вы собираетесь добавить ссылку MDN, это может быть та, которая описывает, что делает конструктор: developer.mozilla.org/en-US/docs/JavaScript/Reference/…
 – 
Benjamin Gruenbaum
2 Апр 2013 в 22:21
Date.parse() - это метод глобального объекта Date, а не конструктор.
 – 
Kyle
2 Апр 2013 в 22:24
Date.parse - это то, как работает конструктор, принимающий строку даты :)
 – 
Benjamin Gruenbaum
2 Апр 2013 в 22:33
Я понимаю что ты имеешь ввиду. Является ли firefox 4 единственным браузером, который поддерживает это подмножество ISO-8601? Или другие браузеры это поддерживают?
 – 
Kyle
2 Апр 2013 в 22:42