I have a timestamp like this 1331209044000
and I want to convert it to an ISO 8601 timestamp. How can I convert it using JavaScript?
I use the jQuery "timeago" plugin - http://timeago.yarp.com/
The date. toISOString() method is used to convert the given date object's contents into a string in ISO format (ISO 8601) i.e, in the form of (YYYY-MM-DDTHH:mm:ss. sssZ or ±YYYYYY-MM-DDTHH:mm:ss.
UNIX timestamps can be converted to time using 2 approaches: Method 1: Using the toUTCString() method: As JavaScript works in milliseconds, it is necessary to convert the time into milliseconds by multiplying it by 1000 before converting it. This value is then given to the Date() function to create a new Date object.
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?
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));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With