Convert UTC Epoch to local date
date, epoch, javascript, utc
Solution
I think I have a simpler solution -- set the initial date to the epoch and add UTC units. Say you have a UTC epoch var stored in seconds. How about `1234567890`. To convert that to a proper date in the local time zone:
var utcSeconds = 1234567890;
var d = new Date(0); // The 0 there is the key, which sets the date to the epoch
d.setUTCSeconds(utcSeconds);
`d` is now a date (in my time zone) set to `Fri Feb 13 2009 18:31:30 GMT-0500 (EST)`
Problem
I have been fighting with this for a bit now. I’m trying to convert epoch to a date object. The epoch is sent to me in UTC. Whenever you pass `new Date()` an epoch, it assumes it’s local epoch. I tried creating a UTC object, then using `setTime()` to adjust it to the proper epoch, but the only method that seems useful is `toUTCString()` and strings don’t help me. If I pass that string into a new date, it should notice that it’s UTC, but it doesn’t. ``` new Date( new Date().toUTCString() ).toLocaleString() ``` My next attempt was to try to get the difference between local current epoch and UTC current epoch, but I wasn’t able to get that either. ``` new Date( new Date().toUTCString() ).getTime() - new Date().getTime() ``` It’s only giving me very small differences, under 1000, which is in milliseconds. Any suggestions?