Преобразование метки времени Unix в ISO 8601
Я хочу использовать плагин jquery timeago - http://timeago.yarp.com/
У меня есть метки времени, подобные этому 1331209044000
, и документы говорят, что мне нужна метка времени ISO 8601.
Честно говоря, я никогда не слышал об ISO 8601.
Как я могу преобразовать его?
Приветствия
Ответы
Ответ 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));