No momento, estamos explorando a exibição de registros de data e hora com fuso horário para nossos usuários e decidimos usar essa Intl.DateTimeFormat
opção timeZoneName: "shortOffset"
, mas agora percebemos que o valor é diferente entre os idiomas.
Quando executo esse snippet no Chrome imprimindo o fuso horário em diferentes idiomas:
["it-IT", "da-DK", "de-DE", "en-GB", "es-ES", "pl-PL", "fr-FR", "sv-SE", "nl-NL", "nb-NO", "el-GR", "fi-FI", "pt-PT", "cs-CZ", ].forEach((l) => {
const tz = Intl.DateTimeFormat(l, {
timeZone: "Asia/Kolkata",
timeZoneName: "shortOffset",
})
.formatToParts(new Date())
.find((p) => p.type === "timeZoneName").value;
console.log(l, tz);
});
Obtenho este resultado:
linguagem | fuso horário |
---|---|
isso-TI | GMT+5:30 |
da-DK | GMT+5.30 |
de-DE | GMT+5:30 |
en-GB | GMT+5:30 |
es-ES | GMT+5:30 |
pl-PL | GMT+5:30 |
fr-FR | UTC+5:30 |
sv-SE | GMT+5:30 |
nl-NL | GMT+5:30 |
nb-NÃO | GMT+5:30 |
el-GR | GMT+5:30 |
fi-FI | UTC+5,30 |
pt-PT | GMT+5:30 |
cs-CZ | GMT+5:30 |
então, por algum motivo, o francês e o finlandês estão usando o rótulo UTC e todos os outros idiomas testados estão usando GMT.
Eu realmente gostaria de saber o motivo disso. Existe alguma documentação ou banco de dados onde eu possa encontrar a configuração dos diferentes idiomas Intl.DateTimeFormat
?