UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【I18N】「月日」のローカライズ

以前、「年月」の表示のローカライズを調べたことがあったが、「月日」にもローカライズするする必要があった

uga-box.hatenablog.com

具体的には以下のようにチェックイン・チェックアウトの表示を当たり前のように「MM/DD」にしていたが、海外で共通ではなかった

これは、「日/月」と表示する国もあり、その国にとってはとても使いにくいシステムになってしまっている

なので、「年月」のときと同様にtoLocaleDateStringを使う

developer.mozilla.org

const event = new Date(Date.UTC(2020, 11, 20));
const options = { month: ‘numeric’, day: ‘numeric’ };
console.log(event.toLocaleDateString(‘en-US’, options));
console.log(event.toLocaleDateString(‘ja-JP’, options));
console.log(event.toLocaleDateString(‘ko-KR’, options));
console.log(event.toLocaleDateString(‘zh-TW’, options));
console.log(event.toLocaleDateString(‘ms-MY’, options));
console.log(event.toLocaleDateString(‘in-ID’, options));
console.log(event.toLocaleDateString(‘vi-VN’, options));
console.log(event.toLocaleDateString(‘th-TH’, options));
> “12/20”
> “12/20"
> “12. 20.”
> “12/20"
> “20-12”
> “20/12"
> “20/12”
> “20/12"

結果をみると東南アジア圏では「日/月」が主流みたいで、いままで見づらかったのかなと申し訳なく思った