Je souhaite que ma page Web affiche la date et l'heure dans les paramètres régionaux de l'utilisateur.Javascript - obtenir les paramètres régionaux en cours en utilisant Intl pour afficher l'heure et la date
Il semble que Intl
est maintenant supporté par la plupart des navigateurs (voir Can I Use Intl). Je peux acquérir le fuseau horaire du navigateur très bien en utilisant Intl.DateTimeFormat().resolvedOptions().timeZone
. J'espérais je serai en mesure d'émettre une date-heure à l'aide de mon lieu actuel, en faisant:
var date = new Date(2017, 11, 31, 23, 59, 59);
var format = new Intl.DateTimeFormat(
undefined, // locale
{
year: "numeric",
month: "numeric",
day: "numeric",
hour: "numeric",
minute: "numeric",
}
)
console.log(format.format(date))
J'utilise Chrome sur Windows. Mes paramètres régionaux du système d'exploitation Windows sont définis sur "République tchèque". La langue de mon site préféré est "Tchèque" dans Chrome, mais le navigateur lui-même est configuré pour utiliser l'anglais américain.
Avec ces paramètres, la sortie est effectuée au format 12 H, comme si mes paramètres régionaux étaient en-us
. Dès que je passe mon navigateur Chrome pour utiliser le tchèque comme langue de présentation, l'heure passe au format 24.
Je pense que je dois manquer quelque chose d'évident - est-ce que la page Web est vraiment incapable d'utiliser l'environnement local utilise, ou est-ce un bug ou une incomplétude dans l'implémentation de Chrome Intl?