Maison > Questions et réponses > le corps du texte
Je souhaite pouvoir afficher un horodatage dans le fuseau horaire indiqué par l'utilisateur. J'ai remarqué que même avec une bibliothèque dédiée comme date-fns-tz, elle semble renvoyer des valeurs qui n'ont aucun sens.
Sous le capot, ils utilisent apparemment Intl et lorsque j'utilise le module, il ne semble pas fournir la valeur correcte.
const zones = ['PST', 'MST', 'CST', 'EST']; zones.forEach((timeZone) => console.log( new Intl.DateTimeFormat('en-US', { timeZone, timeStyle: 'full', dateStyle: 'full', }).format(1588743894000) ) );
Sortie :
Tuesday, May 5, 2020 at 10:44:54 PM Pacific Daylight Time Tuesday, May 5, 2020 at 10:44:54 PM GMT-07:00 Wednesday, May 6, 2020 at 12:44:54 AM Central Daylight Time Wednesday, May 6, 2020 at 12:44:54 AM GMT-05:00
Mais cela ne devrait-il pas être quatre valeurs différentes ?
P粉2327937652024-04-01 00:42:27
Vous spécifiez une abréviation de fuseau horaire à trois lettres, qui attend le fuseau horaire IANA (https://tc39.es/ecma402/#sec-time-zone-names). Je pense que c'est confus car vous dépassez le fuseau horaire standard pendant la journée.
const zones = ["America/Los_Angeles", "America/Denver", "America/Chicago", "America/New_York"] zones.forEach(timeZone => console.log(new Intl.DateTimeFormat('en-US', { timeZone, timeStyle: "full", dateStyle: "full"}).format(1588743894000)));
Cela produit :
Tuesday, May 5, 2020 at 10:44:54 PM Pacific Daylight Time Tuesday, May 5, 2020 at 11:44:54 PM Mountain Daylight Time Wednesday, May 6, 2020 at 12:44:54 AM Central Daylight Time Wednesday, May 6, 2020 at 1:44:54 AM Eastern Daylight Time