26

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?

alex
  • 460,746
  • 196
  • 858
  • 974
deruse
  • 2,811
  • 7
  • 39
  • 59

5 Answers5

33

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

Chris
  • 2,015
  • 1
  • 18
  • 20
22
new Date("some string").getTime()
josh3736
  • 131,871
  • 30
  • 208
  • 255
SLaks
  • 837,282
  • 173
  • 1,862
  • 1,933
2

You can get the milliseconds from epoch with +new Date('date string').

jsFiddle.

The + operator implicitly calls valueOf() which returns the same as getTime().

alex
  • 460,746
  • 196
  • 858
  • 974
0
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;
Cai
  • 1,297
  • 1
  • 12
  • 23
Joseph Dailey
  • 4,275
  • 2
  • 14
  • 17
0

var myDate = new Date(Timestamp); // Your timezone! either timestamp ot date var myEpoch = myDate.getTime()/1000.0;

Murthii Ch
  • 31
  • 1
  • 2