Comment convertir 07/26/2010
un horodatage UNIX à l'aide de Javascript?
javascript
javascript-framework
Asim Zaidi
la source
la source
new Date("2010-7-26")
pas dans Internet Explorer. Le constructeur de date s'appuie sur la méthode Date.parse () lorsqu'une chaîne est transmise, qui dépend de l'implémentation dans ECMA-262 3e édition et, par conséquent, notoirement inflexible dans IE.reviendra une longue époque
la source
Jetez un œil à http://www.w3schools.com/jsref/jsref_obj_date.asp
Il existe une fonction
UTC()
qui renvoie les millisecondes de l'époque unix.la source
Vous pouvez également utiliser la fonction Date.now ().
la source
Certaines réponses n'expliquent pas les effets secondaires des variations du fuseau horaire pour l'objet Date JavaScript. Vous devriez donc envisager cette réponse si cela vous préoccupe.
Méthode 1: selon le fuseau horaire de la machine
Par défaut, JavaScript renvoie une date en tenant compte du fuseau horaire de la machine, le
getTime()
résultat varie donc d'un ordinateur à l'autre. Vous pouvez vérifier ce comportement en cours d'exécution:Ce n'est pas un problème si vous voulez vraiment le temps écoulé depuis Epoch en tenant compte de votre fuseau horaire. Donc, si vous souhaitez obtenir l'heure depuis l'époque pour la date actuelle ou même une date spécifiée en fonction du fuseau horaire de l' ordinateur , vous êtes libre de continuer à utiliser cette méthode.
Méthode 2: Indépendant du fuseau horaire de la machine
Cependant, si vous souhaitez obtenir des variations de fuseau horaire et obtenir l'heure depuis l'époque pour une date spécifiée en UTC (c'est-à-dire indépendamment du fuseau horaire), vous devez utiliser la
Date.UTC
méthode ou décaler la date de votre fuseau horaire vers UTC:Donc, en utilisant cette méthode (ou, alternativement, en soustrayant la différence), le résultat devrait être:
IMO, à moins que vous ne sachiez ce que vous faites (voir la note ci-dessus), vous devriez préférer la méthode 2 , car elle est indépendante de la machine.
Note de fin
Bien que les recommandations de cette réponse, et depuis
Date.UTC
ne fonctionnent pas sans une date / heure spécifiée, vous pouvez être enclin à utiliser l'approche alternative et à faire quelque chose comme ceci:Cela n'a aucun sens et c'est probablement FAUX (vous modifiez la date). Soyez conscient de ne pas faire cela. Si vous voulez obtenir l'heure depuis l'époque à partir de la date et de l' heure actuelles , vous êtes probablement OK en utilisant la méthode 1 .
la source
Date.parse()
La méthode analyse une représentation sous forme de chaîne d'une date et renvoie le nombre de millisecondes depuisJanuary 1, 1970, 00:00:00 UTC
.Pour en savoir plus: Date.parse ()
la source
Fonctionne de la même manière que les choses ci-dessus. Si vous avez besoin de secondes, n'oubliez pas de
/ 1000
la source