Comment obtenir l'horodatage actuel en JavaScript

Découvrez les moyens que JavaScript vous propose pour générer l'horodatage UNIX actuel


L'horodatage UNIX est un entier qui représentethe number of seconds elapsed since January 1 1970.

Sur les machines de type UNIX, qui incluent Linux et macOS, vous pouvez taperdate +%sdans le terminal et récupérez l'horodatage UNIX:

$ date +%s
1524379940

L'horodatage actuel peut être récupéré en appelant lenow()méthode sur leDateobjet:

Date.now()

Vous pourriez obtenir la même valeur en appelant

new Date().getTime()

or

new Date().valueOf()

Remarque: IE8 et les versions antérieures n'ont pasnow()méthode surDate. Recherchez un polyfill si vous avez besoin de prendre en charge IE8 et ci-dessous, ou utiliseznew Date().getTime()siDate.nown'est pas défini (car c'est ce que ferait un polyfill)

L'horodatage en JavaScript est exprimé enmillisecondes.

Pour obtenir l'horodatage exprimé en secondes, convertissez-le en utilisant:

Math.floor(Date.now() / 1000)

Remarque: certains tutoriels utilisentMath.round(), mais cela se rapprochera de la seconde suivante même si la seconde n'est pas complètement terminée.

ou, moins lisible:

~~(Date.now() / 1000)

J'ai vu des tutoriels utilisant

+new Date

ce qui peut sembler étrange, mais c'est un code JavaScript parfaitement correct. Leopérateur unaire +appelle automatiquement levalueOf()sur tout objet auquel il est affecté, qui renvoie l'horodatage (en millisecondes). Le problème avec ce code est que vous instanciez un nouvel objet Date qui est immédiatement ignoré.

Pour générer une date à partir d'un horodatage, utiliseznew Date(<timestamp>)mais assurez-vous de passer un nombre (une chaîne vous donnera un résultat «date invalide» - utilisezparseInt()dans le doute)

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: