web-dev-qa-db-fra.com

Que signifie ce format T00: 00: 00.000Z?

S'il vous plaît quelqu'un expliquer ce type de format en javascript

 T00:00:00.000Z

Et comment l'analyser.

Merci

44
Ali Akram

Cela fait partie de la représentation ISO-8601 date. C'est incomplet car une représentation complète de la date dans ce modèle devrait également contenir la date:

2015-03-04T00:00:00.000Z //Complete ISO-8601 date

Si vous essayez d’analyser cette date telle quelle, vous recevrez une erreur Invalid Date:

new Date('T00:00:00.000Z'); // Invalid Date

Donc, je suppose que le moyen d’analyser un horodatage dans ce format est de concatter avec une date quelconque

new Date('2015-03-04T00:00:00.000Z'); // Valid Date

Ensuite, vous pouvez extraire uniquement la partie souhaitée (partie timestamp)

var d = new Date('2015-03-04T00:00:00.000Z');
console.log(d.getUTCHours()); // Hours
console.log(d.getUTCMinutes());
console.log(d.getUTCSeconds());
53
nanndoj

je vous suggère d'utiliser moment.js pour cela. Dans moment.js vous pouvez:

var localTime = moment().format('YYYY-MM-DD'); // store localTime
var proposedDate = localTime + "T00:00:00.000Z";

maintenant que vous avez le bon format pour une fois, analysez-le s'il est valide:

var isValidDate = moment(proposedDate).isValid();
// returns true if valid and false if it is not.

et pour avoir du temps, vous pouvez faire quelque chose comme:

var momentDate = moment(proposedDate)
var hour = momentDate.hours();
var minutes = momentDate.minutes();
var seconds = momentDate.seconds();

// or you can use `.format`:
console.log(momentDate.format("YYYY-MM-DD hh:mm:ss A Z"));

Plus d'infos sur momentjs http://momentjs.com/

6
gone43v3r