Puis-je convertir une date iso en millisecondes? par exemple je veux convertir cet iso
2012-02-10T13:19:11+0000
en millisecondes.
Parce que je veux comparer la date actuelle à la date de création. Et la date de création est une date iso.
Puis-je convertir une date iso en millisecondes? par exemple je veux convertir cet iso
2012-02-10T13:19:11+0000
en millisecondes.
Parce que je veux comparer la date actuelle à la date de création. Et la date de création est une date iso.
1328796537
, mais dans l'API fb, la date est affichée en iso2012-02-10T13:18:45+0000
date1.getTime() - date2.getTime()
- c'est tout ce dont vous avez besoin
Réponses:
Essaye ça
var date = new Date("11/21/1987 16:00:00"); // some mock date
var milliseconds = date.getTime();
// This will return you the number of milliseconds
// elapsed from January 1, 1970
// if your date is less than that date, the value will be negative
console.log(milliseconds);
ÉDITER
Vous avez fourni une date ISO. Il est également accepté par le constructeur de l' Date
objet
var myDate = new Date("2012-02-10T13:19:11+0000");
var result = myDate.getTime();
console.log(result);
Éditer
Le mieux que j'ai trouvé est de supprimer le décalage manuellement.
var myDate = new Date("2012-02-10T13:19:11+0000");
var offset = myDate.getTimezoneOffset() * 60 * 1000;
var withOffset = myDate.getTime();
var withoutOffset = withOffset - offset;
console.log(withOffset);
console.log(withoutOffset);
Semble fonctionner. En ce qui concerne les problèmes de conversion de la chaîne ISO en Date
objet, vous pouvez vous référer aux liens fournis.
ÉDITER
Correction du bug avec une conversion incorrecte en millisecondes selon le commentaire de Prasad19sara.
var myDate = new Date("2012-02-10T13:19:11+0000");
Un raccourci des solutions précédentes est
var myDate = +new Date("2012-02-10T13:19:11+0000");
Il effectue une conversion de type à la volée et génère directement la date au format milliseconde.
Une autre méthode consiste également à utiliser la méthode d'analyse de Date util qui ne produit que l'heure EPOCH en millisecondes.
var myDate = Date.parse("2012-02-10T13:19:11+0000");
+new Date()
renvoie 1447857230137
le temps en millisecondes.
const dateMillis = Number(new Date('2017-09-26T20:24:18.801Z'))
mais new Date('2017-09-26T20:24:18.801Z').getTime()
ou new Date('2017-09-26T20:24:18.801Z').valueOf()
est encore plus lisible.
Une autre option à partir de 2017 est d'utiliser Date.parse()
. La documentation de MDN indique cependant qu'elle n'est pas fiable avant ES5.
var date = new Date(); // today's date and time in ISO format
var myDate = Date.parse(date);
Voir le violon pour plus de détails.
Une autre solution possible consiste à comparer avec la date actuelle January 1, 1970
, vous pouvez obtenir January 1, 1970
par new Date(0)
;
var date = new Date();
var myDate= date - new Date(0);
Oui, vous pouvez le faire en une seule ligne
let ms = Date.parse('2019-05-15 07:11:10.673Z');
console.log(ms);//1557904270673
Une autre solution pourrait être d'utiliser l'analyseur d'objet Number comme ceci:
let result = Number(new Date("2012-02-10T13:19:11+0000"));
let resultWithGetTime = (new Date("2012-02-10T13:19:11+0000")).getTime();
console.log(result);
console.log(resultWithGetTime);
Cela se convertit en millisecondes comme getTime()
sur un Date
objet
var date = new Date()
console.log(" Date in MS last three digit = "+ date.getMilliseconds())
console.log(" MS = "+ Date.now())
En utilisant cela, nous pouvons obtenir la date en millisecondes
var date = nouvelle date (date_string); var millisecondes = date.getTime ();
Cela a fonctionné pour moi!
Si quelqu'un souhaite saisir uniquement l'heure d' une date ISO, il sera utile de suivre les instructions suivantes. Je cherchais cela et je n'ai pas trouvé de question pour cela. Donc, au cas où quelqu'un verrait, ce sera utile.
let isoDate = '2020-09-28T15:27:15+05:30';
let result = isoDate.match(/\d\d:\d\d/);
console.log(result[0]);
La sortie sera la seule heure depuis isoDate qui est,
15:27