Search code examples
javascriptdatetimeepoch

Javascript Convert Date Time string to Epoch


so I give up...been trying to do this all day;

I have a string that supplies a date and time in the format dd/MM/yyyy hh:mm (04/12/2012 07:00).

I need to turn that into an Epoch date so I can do some calculations upon it. I cannot modify the format in which the date time is sent to me.

JavaScript or jQuery is fine.


Solution

  • JavaScript dates are internally stored as milliseconds since epoch. You just need to convert it to a number, e.g. with the unary + operator, to get them. Or you can use the .getTime method.

    The harder will be parsing your date string. You likely will use a regex to extract the values from your string and pass them into Date.UTC:

    var parts = datestring.match(/(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})/);
    return Date.UTC(+parts[3], parts[2]-1, +parts[1], +parts[4], +parts[5]);
    

    This will yield 1354604400000 ms for your example date.