JavaScript
I18n
intl

Intl.DateTimeFormatのOptionが意味わからない

javascriptでDateをフォーマットするクラスIntl.DateTimeFormatというものがありますが、
optionの意味が解りません。
Intl.DateTimeFormat - JavaScript | MDN

yyyy/MM/ddのようなスラッシュ形式にするにはどうしたらいいのでしょう?

すでにQiitaに投稿されている記事でIntl.DateTimeFormat 日付表記option逆引き表も参考になりますが、
結果IEがバグっててどうしていいのかわからないので、片っ端から実行して結果を確認します。

検証用にghpagesに検証用のページを作ったのでお好みのブラウザで試してみてください。
https://ota-meshi.github.io/Intl.DateTimeFormat_options/index.html

localeは言語のサポート | Google Cloud Speech API | Google Cloud Platformを参考にしました。


以下、Chrome・Firefox・IE11で確認

yyyy/MM/dd HH:mm:ss形式

結論から言うと3ブラウザでは良い感じのOptionは見つけられませんでした。

locale: 'en-ZA'hour12: falseとしyear, month, day, hour, minute, secondnumericとすればとても惜しい、ChromeとFirefoxで、yyyy/MM/dd, HH:mm:ssというカンマの入った形式になる様子。

locale=eu-ESも行けるかと思いましたが、
eu-ESはChromeがスラッシュ表記になってくれない様子。

yyyy/MM/dd形式

3ブラウザではlocale: 'en-ZA'year, month, daynumericとすれば良さそうです。

結論

YMDのスラッシュ形式は南アフリカが良さそうです。


こちらも参考になるかもしれません。
Date format by country - Wikipedia