问题
I want to use the jquery timeago plugin - http://timeago.yarp.com/
I have timestamps like this 1331209044000
and the docs say i need an ISO 8601 timestamp.
To be honest i have never heard of ISO 8601.
How can i convert it?
Cheers
回答1:
Assuming your timestamp is in milliseconds (or you can convert to milliseconds easily) then you can use the Date constructor and the date.toISOString() method.
var s = new Date(1331209044000).toISOString();
s; // => "2012-03-08T12:17:24.000Z"
If you target older browsers which do not support EMCAScript 5th Edition then you can use the strategies listed in this question: How do I output an ISO 8601 formatted string in JavaScript?
回答2:
The solution i used, thanks to the links provided
// 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));
来源:https://stackoverflow.com/questions/12868176/convert-unix-timestamp-to-iso-8601