Reputation: 12953
I know this question has been asked and answered many times, but I could not convert a given milliseconds to date and time.
I have the following code:
var date = '1475235770601';
var d = new Date(date);
var ds = d.toLocaleString();
alert(ds);
console.log(ds);
When I run this I see Invalid Date in console as well as in alert.
But when I paste the milliseconds here, it converts fine in the format in local date and time as Fri Sep 30 2016 17:12:50
.
Actually I want to convert in in the format 09/30/16 17:12:50
.
Upvotes: 11
Views: 30424
Reputation: 1078
I got quite a reasonable result with:
const rawDate = new Date(milliseconds)
const date = rawDate.toLocaleDateString() + " " + rawDate.toLocaleTimeString()
This outputs date and time in a locally accepted format (depending on user system datetime settings, I guess)!
So if you need just a locally accepted format (and do not strictly prefer slashes in the date) - you can use that.
Upvotes: 2
Reputation: 12953
I ended up changing my code like this:
var date = '1475235770601';
var d = new Date(parseInt(date, 10));
var ds = d.toString('MM/dd/yy HH:mm:ss');
console.log(ds);
Output:
09/30/16 17:12:50
Upvotes: 8
Reputation: 311053
Date
's constructor takes a number, not a string. Either feed it in directly:
date = 1475235770601; // Note the lack of quotes making it a number
Or, if you already have a string, convert it explicitly:
date = parseInt(date);
Upvotes: 10