Comment obtenir la date et/ou l'heure actuelle en secondes à l'aide de Javascript ?
Bien que cela soit exact, quand cela pourrait-il être utile ? :)
Comment obtenir la date et/ou l'heure actuelle en secondes à l'aide de Javascript ?
@sje397 - Oui... mais la question (comme la plupart des questions sur le SO) est plus susceptible de résoudre un problème de santé publique. pratique Pouvez-vous me donner un exemple où vous voudriez afficher ce résultat ?
@Nick - Je pense que tous les exemples sont nécessairement spéculatifs et sembleront artificiels - mais je vais tenter ma chance :) Supposons que vous ayez des données horodatées avec le temps Unix, et que vous vouliez déterminer leur âge. En outre, je pense que c'est ce que l'on entend le plus souvent par "la date/heure actuelle en secondes" ; c'est juste mon intuition.
Date.now()
donne les millisecondes écoulées depuis l'époque. Il n'est pas nécessaire d'utiliser new
.
Consultez la référence ici : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now
(Non pris en charge par IE8.)
Cette réponse de quelques millisecondes ne répond même pas à la question posée. "Comment obtenir la date et l'heure actuelles en secondes ?"
@magician11 - Date.now() / 1000
ne répond pas non plus à la question, car il donne des valeurs avec des fractions partielles en millisecondes
L'utilisation new Date().getTime() / 1000
est une solution incomplète pour obtenir les secondes, car elle produit des horodatages avec des unités à virgule flottante.
new Date() / 1000; // 1405792936.933
// Technically, .933 would be in milliseconds
Utilisez plutôt :
Math.round(Date.now() / 1000); // 1405792937
// Or
Math.floor(Date.now() / 1000); // 1405792936
// Or
Math.ceil(Date.now() / 1000); // 1405792937
// Note: In general, I recommend `Math.round()`,
// but there are use cases where
// `Math.floor()` and `Math.ceil()`
// might be better suited.
En outre, les valeurs sans flottants sont plus sûres pour les instructions conditionnelles, car la granularité obtenue avec les flottants peut entraîner des résultats indésirables. En effet, la granularité obtenue avec les flottants peut entraîner des résultats indésirables :
if (1405792936.993 < 1405792937) // true
Avertissement : Les opérateurs bitwise peuvent poser des problèmes lorsqu'ils sont utilisés pour manipuler des horodatages. Par exemple, (new Date() / 1000) | 0
peut également être utilisé pour "plancher" la valeur en secondes, mais ce code pose les problèmes suivants :
Notez que l'utilisation de l'opérateur bitwise pour le sol entraînera la conversion de la valeur en un entier signé de 32 bits. Voir Problème de l'année 2038 .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
3 votes
Duplicata possible de Comment obtenir un horodatage en JavaScript ?
3 votes
Sachez que la réponse acceptée produira un nombre à virgule flottante.