9
votes

Analysant une API YouTube Date en JavaScript

L'API de YouTube renvoie un objet JSON avec une gamme de vidéos. Chaque objet vidéo a une date publiée formatée comme "2012-01-11T20: 49: 59.415Z". Si j'initialise un objet de date JavaScript à l'aide du code ci-dessous, l'objet renvoie "la date non valide".

var dt = new Date( "2012-01-11T20:49:59.415Z" );


0 commentaires

5 Réponses :


0
votes

Si vous n'avez besoin que d'une partie de la date (par exemple, si vous ne vous souciez pas du fuseau horaire ou du fuseau horaire), vous pouvez simplement dénicher la partie de la chaîne de date off.


2 commentaires

J'essaie de générer une date relative, comme "il y a 21 jours" en tirant des millisecondes de l'objet de date.


C'est facile lorsque vous avez terminé avec le rendu de la date via le script ISO 8601. Faites une nouvelle date mondiale d'analyser l'objet de date ISO 8601, puis soustrayez la "date postée" de la "date actuelle" ...




3
votes
var dt = "2012-01-11T20:49:59.415Z".replace("T"," ").replace(/\..+/g,"")
dt = new Date( dt );

0 commentaires

3
votes

J'ai fini par trouver une solution à http://zetafleet.com/blog / JavaScript-DateParse-for-ISO-8601 . On dirait que la date est dans un format appelé 'ISO 8601.' Sur les navigateurs antérieurs (Safari 4, chrome 4, soit 6-8), ISO 8601 n'est pas pris en charge, alors date.parse ne fonctionne pas. Le code référencé à partir de l'article de blog lié étend la classe de date actuelle pour prendre en charge ISO 8601.


0 commentaires

0
votes

Cette page a du code qui analyse des dates YouTube (ISO 8601) dans un objet de date:

http://webcloud.se/log/javascript-and-iso-8601 /

archive.org Sauvegarde de la même façon

Cela fonctionne pour moi, même si je n'ai pas beaucoup testé cela.