Reputation: 2881
Given that I have: mm, dd, yy, hh:mm, am/pm, what is the recommended/easiest way to convert that data into milliseconds from epoch?
Upvotes: 27
Views: 26641
Reputation: 2045
Everytime I get an upvote on this answer, I'm reminded that my answer doesn't actually answer the question.
OP: If you can parse your string into the following format, you can use one of the other answers. MM/DD/YYYY HH:MM:SS AM EDT
(It's important to specify the timezone; epoch is based on the meridian)
let milliseconds = new Date("1/20/1982 5:00 PM EST").getTime()
console.log(milliseconds);
Original Answer that some people have found useful:
Another technique (which most browsers support, as well as NodeJS) that doesn't require having to instantiate a Date
object
var nowEpoch = Date.now();
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
Upvotes: 34
Reputation: 29
var myDate = new Date(Timestamp); // Your timezone! either timestamp ot date var myEpoch = myDate.getTime()/1000.0;
Upvotes: 0
Reputation: 4925
var date;
if(pm)
date = new Date(yy, mm, dd, hh+12, mm, 0, 0);
else
date = new Date(yy, mm, dd, hh, mm, 0, 0);
var millis = date.getTime();
var seconds = millis/1000;
Upvotes: 0