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

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

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

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

как его преобразовать?

Ура

2 ответов


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

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

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


решение я, благодаря ссылкам

// 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));