13

Using javascript, How can I convert a "human time" string like "Wed Jun 20 19:20:44 +0000 2012" into a timestamp value like "1338821992"?

HandiworkNYC.com
  • 10,572
  • 24
  • 90
  • 151

4 Answers4

24

Just create a Date object from it and do .getTime() or use Date.parse():

var d = new Date("Wed Jun 20 19:20:44 +0000 2012");
d.getTime(); //returns 1340220044000

//OR

Date.parse("Wed Jun 20 19:20:44 +0000 2012"); //returns 1340220044000

Works great if your "human time" string is in a format that the Date constructor understands (which the example you posted is).


EDIT

Realized you may mean a Unix timestamp, which is seconds passed since the epoch (not ms like JS timestamps). In that case simply divide the JS timestamp by 1000:

//if you want to truncate ms instead of rounding just use Math.floor()
Math.round(Date.parse("Wed Jun 20 19:20:44 +0000 2012") / 1000); //returns 1340220044
Chad
  • 18,660
  • 4
  • 47
  • 71
5

In theory, with Date.parse(). In practice, however, with the thousands of different ways to express date and time (the least of which being the names of days/months in different languages), it's far easier to get the date in its component parts instead of trying to read a string.

Niet the Dark Absol
  • 311,322
  • 76
  • 447
  • 566
0

Looks like the date/time you've provided is in seconds not milliseconds. So you'll need to divide by 1000 to get the date/time in seconds.

//Gets date in seconds 
var d1 = Date.parse('Wed Jun 20 19:20:44 +0000 2012')/1000;
alert(d1);

Example: http://jsfiddle.net/AUt9K/

Brandon Boone
  • 15,753
  • 4
  • 73
  • 96
0

Simply add following: new Date().getTime()

This should get you timestamp of current time. Example: var url = "http://abc.xyz.com/my-script.js?v=" + new Date().getTime();

GB Patil
  • 176
  • 1
  • 2
  • 11