J'ai une page qui utilise actuellement le datetime microformat pour afficher un horodatage, mais je n'ai été montrant le temps lisible par l'homme pour mon propre fuseau horaire:Comment puis-je convertir datetime microformat en heure locale en javascript?
<abbr class="published" title="2009-01-09T09:16:00-05:00">
Friday, January 9, 2009 at 9:16 am (EST)</abbr>
Ce que je voudrais faire est rewrite innerHTML pour la balise abbr doit avoir le même format, mais dans le fuseau horaire local de l'utilisateur. Donc, pour un lecteur à Seattle, le doit être converti ci-dessus pour:
<abbr class="published" title="2009-01-09T09:16:00-05:00">
Friday, January 9, 2009 at 6:16 am (PST)</abbr>
Je l'ai regardé le Javascript Date object, ce qui me permet d'obtenir le fuseau horaire local OFFSET. Mais j'ai quelques problèmes:
Je ne vois pas un moyen facile de créer un nouvel objet Date à partir d'un horodatage ISO-8601. (Je suppose que je pourrais analyser avec des sous-chaînes ou regex s'il n'y a pas de manière plus rapide.)
Je ne vois pas un moyen d'obtenir l'abréviation nommée pour le fuseau horaire. Par exemple, pour un lecteur à Seattle, je voudrais que l'heure soit "(PST)" ajoutée à la fin, sinon il n'est pas clair pour cet utilisateur que l'horodatage a été converti (surtout s'il est un visiteur fréquent et s'est habitué au fait que mes temps sont en EST).
Vous avez utilisé la variable "ms" deux fois de suite, annulant ainsi son utilisation précédente. –
Bonne prise, que "var ms = 0;" ne devrait pas être là du tout. Rétrospectivement, je suis à peu près sûr que le regex correspondant au fuseau horaire manque aussi un quantificateur zéro ou un. – Tony