Javascript Convertit le temps humain en horodatage

À l'aide de javascript, comment puis-je convertir une chaîne de "temps humain" comme "Wed 20 juin 19:20:44 +0000 2012" en une valeur d'horodatage comme "1338821992"?

Créez simplement un objet Date et faites .getTime() ou utilisez 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 

Fonctionne bien si votre chaîne "temps humain" est dans un format que le constructeur Date comprend (quel exemple que vous avez publié).


MODIFIER

Réalisé, vous pouvez signaler un timestamp Unix, qui est écoulé depuis l'époque (et non comme les timestamps JS). Dans ce cas, divisez simplement le timestamp JS par 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 

En théorie, avec Date.parse() . En pratique, cependant, avec les milliers de façons différentes d'exprimer la date et l'heure (dont le moins est le nom des jours / mois dans différentes langues), il est beaucoup plus facile d'obtenir la date dans ses composants au lieu d'essayer de lire un chaîne.

On dirait que la date / heure que vous avez fournie est en secondes, pas en millisecondes. Vous devrez donc diviser par 1000 pour obtenir la date et l'heure en quelques secondes.

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

Exemple: http://jsfiddle.net/AUt9K/

Il suffit d'ajouter les éléments suivants: new Date().getTime()

Cela devrait vous donner l'horodatage de l'heure actuelle. Exemple: var url = "http://abc.xyz.com/my-script.js?v=" + new Date().getTime();