2015-06-19 2 views
-2

иногда моя метка времени составляет более 10 цифр. Я использую минуты функции расслоение плотной является:дата времени момент выдачи

moment.unix(timestamp).format('YYYY-MM-DD HH:mm') 

, когда он имеет длину 10 цифр дает мне идеальный ответ. но когда более 10 цифр. не знаю, почему это дает мой неправильный год.

образец: правильно: 1433167001 дает мне 2015-06-01 13:56 Некорректное: 1433287744646 дает мне дату: 47389-01-29 12:37

Я также попытался/1000 не работает

код

- var timestamp ='' 
           - if (typeof(res[j]['timestamp']) !== 'undefined'){ 
            - timestamp = Math.floor(res[j]['timestamp']); 
            - if (timestamp.length > 10) { 
             - timestamp = Math.floor(timestamp/1000) 
            - } 
           -} 

           tr 
            td #{index++} 
            td #{results[i]['userInfo']['username']} 
            td #{typeName} 
            td #{value} 
            td #{moment.unix(timestamp).format('YYYY-MM-DD HH:mm')} 

приведенный выше код на нефрит.

+0

Что именно вы разделили на 1000? Если это «метка времени», она должна работать нормально. – MaxArt

+0

нет, не работает –

ответ

1

Традиционно термин «отметка времени Unix» относится к числу секунд, прошедшим с полуночи, 1 января 1970 года. UTC (не считая секунд прыжка).

var m = moment.unix(numberOfSeconds); 

Однако, JavaScript и многие другие платформы определяют свои временные метки в терминах миллисекунд вместо секунд.

var m = moment(numberOfMilliseconds); 

Важно, чтобы вы поняли источник своих данных, чтобы узнать, соответствуют ли временные метки секундам или миллисекундами. Если вы угадываете, основываясь на количестве цифр, вы исключаете ряд возможных значений.

+0

Hi коврик. Спасибо за ответ. –

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