Преобразование метки времени 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));