2013-07-06 2 views
0

У меня длинное numbber в массиве в javascript. Он был взят из getTime(), но теперь это не объект Date.Печать даты из номера

tab[0][1]=1373139837555;// not date object - just int 

А теперь я хочу, чтобы напечатать как этот

час: минута: Секунды | День/Месяц/Год

Есть ли функция печати даты? Я знаю функции getHours(), getMinutes(), getTime(), но они работают только для объектов Date. Могу ли я использовать этот длинный номер на сегодняшний день? Как я могу напечатать дату в противном случае?

EDIT

Это мой код с яваскрипт и JQ

$.date = function (dateObject) { 
    var d = new Date(dateObject); 
    var hour = d.getHours(); 
    var minutes = d.getMinutes(); 
    var seconds = d.getSeconds(); 

    var day = d.getDate(); 
    var month = d.getMonth(); 
    var year = d.getFullYear(); 

    var date = hour+":"+minutes+":"+seconds+"||"+day+"/"+month+"/"+year; 

    return date; 
}; 

tab[0][1]=1373139837555; 
console.log('Number '+$.date(tab[0][1])); 

И возвращает номер NaN: NaN: NaN || NaN/NaN/NaN :( Когда я перебираю вкладку [0] [1] с NaN, она возвращает false - так что это число

+2

возможно дубликат [Преобразовать метку времени Unix времени в Javascript] (http://stackoverflow.com/questions/847185/convert-a-unix-timestamp-to-time-in-javascript) – JJJ

+0

@ Джухана: Хотя я и голосовал за закрытие, это не точный дубликат: Unix отметки времени находятся в секундах и должны быть умножены на 1000 - метка времени, полученная от 'getTime', не – Bergi

+0

Работает отлично для меня. http://jsfiddle.net/46zKR/ (кроме месяца, когда он отключен одним). Вы действительно уверены, что переменная содержит номер? Если вы выполните 'console.log (вкладка [0] [1])' вы получаете отметку времени? – JJJ

ответ

2

Вы должны иметь возможность создать новый объект даты с помощью своего длинного номера (если я не ошибаюсь, это количество миллисекунд, прошедших с 1.1.1970)

tab[0][1]=1373139837555; 

var date = new Date(tab[0][1]); 

вы можете получить на следующий день, месяц и т.д., используя функции вы упоминаете:

var printDate = date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() + 
       ' | ' + 
       date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear(); 
1

Для конвертировать его в Date, просто попробуйте это

var myDate = new Date(tab[0][1]); 

После конвертируется, используйте getHours(), getMinutes(), GetTime() и т.д.

+0

Так что я должен просто написать вкладку [0] [1] = новая дата (вкладка [0] [1])? – MateuszC

2

Привести его к дате

new Date(1373139837555) 
+2

[No.] (http://es5.github.io/#x15.9.2) – Bergi

+0

моя ошибка - Саймон избил меня и сделал все правильно. Редактирование моего ответа. – bsoist

+0

+1 для возврата, чтобы улучшить ваш ответ: D –

Смежные вопросы