私のWebページにユーザーのロケールの日付と時刻を表示させたい。Javascript - Intlを使用して現在のロケールを取得して時刻と日付を表示する
ほとんどのブラウザでIntl
がサポートされているようです(Can I Use Intl参照)。私はIntl.DateTimeFormat().resolvedOptions().timeZone
を使ってブラウザのタイムゾーンをうまく取得できます。私は私が行うことで、私の現在のロケールを使用して日時を放出することができるようになります望ん:私はWindows上でChromeを使用しています
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))
。私のWindows OSロケールは「チェコ共和国」に設定されています。私の好みのサイト言語はChromeで "Czech"に設定されていますが、ブラウザ自体は米国英語を使用するように設定されています。
これらの設定では、私のロケールがen-us
のように、出力が12 Hフォーマットで行われます。プレゼンテーション言語としてチェコ語を使用するようにChromeブラウザを切り替えるとすぐに、時刻は24形式に切り替わります。
私はロケールユーザーが本当に使用できないウェブページですか、それともChrome Intl実装のいくつかのバグや不完全さですか?