2016-04-12 5 views
2

У меня есть время с эпохи, хранящееся как число: 1444749469000. Однако, когда я пытаюсь преобразовать его в объект Date, используя Date(1444749469000), он просто дает мне текущую дату вместо той, которая должна быть (около Tue Oct 13 2015).Почему мой объект Date возвращает текущую дату?


> Date(1444749469000) 
"Tue Apr 12 2016 09:28:30 GMT-0700 (PDT)" 
+0

Возможный дубликат [Преобразование миллисекунды на дату (JQuery/JS)] (http://stackoverflow.com/questions/4673527/converting-milliseconds-to-a-date-jquery-js) – djechlin

+0

@ AJ не похоже, что OP проверил эту ссылку со мной. – djechlin

ответ

3

Вам нужен new перед Date, потому что Date является конструктором

var d = new Date(1444749469000) 
 
alert(d);

+0

По определению, конструкторы ** являются ** функциями. ;-) Разница в том, как они называются. – RobG

+0

@RobG спасибо за разъяснение :) –

1

Потому что, когда вы звоните Date как функция, он возвращает строку текущей даты и игнорировать заданное значение. Чтобы получить объект Date, вы должны инициализировать конструктор Date с ключевым словом new.

var now = Date(1444749469000); 
var date = new Date(1444749469000); 
console.log(typeof now); //string 
console.log(typeof date); //object 
Смежные вопросы