Подтвердить что ты не робот

Преобразование метки времени Unix в ISO 8601

Я хочу использовать плагин jquery timeago - http://timeago.yarp.com/

У меня есть метки времени, подобные этому 1331209044000, и документы говорят, что мне нужна метка времени ISO 8601.

Честно говоря, я никогда не слышал об ISO 8601.

Как я могу преобразовать его?

Приветствия

4b9b3361

Ответ 1

Предполагая, что ваша метка времени находится в миллисекундах (или вы можете легко конвертировать в миллисекунды), вы можете использовать конструктор Date и date.toISOString().

var s = new Date(1331209044000).toISOString();
s; // => "2012-03-08T12:17:24.000Z"

Если вы настроите таргетинг на старые браузеры, которые не поддерживают EMCAScript 5th Edition, вы можете использовать стратегии, перечисленные в этом вопросе: Как вывести строку в формате ISO 8601 в JavaScript?

Ответ 2

Решение, которое я использовал, благодаря предоставленным ссылкам

// convert to ISO 8601 timestamp
function ISODateString(d){
    function pad(n){return n<10 ? '0'+n : n}
    return d.getUTCFullYear()+'-'
        + pad(d.getUTCMonth()+1)+'-'
        + pad(d.getUTCDate())+'T'
        + pad(d.getUTCHours())+':'
        + pad(d.getUTCMinutes())+':'
        + pad(d.getUTCSeconds())+'Z'
}

var d = new Date(parseInt(date));
console.log(ISODateString(d));