日期md-datepicker本地化泰语语言不正确

时间:2017-09-12 17:53:52

标签: angular angular-material

使用md-datepicker,将区域设置设置为' (泰国)这一年是不正确的。

这是一个Plunker: https://embed.plnkr.co/6guQWJyfAUtEgPje9Tcd/

我使用LOCALE_ID提供程序

在@NgModule中设置语言环境

我设置语言的方式有问题吗?

我测试的许多其他语言按预期工作。

1 个答案:

答案 0 :(得分:1)

这是一个Intl问题。在浏览器控制台中尝试以下操作:

var myDate = new Date();
new Intl.DateTimeFormat('th').format(myDate);

你会看到“12/9/2560”。这是因为默认使用佛教日历。您需要将其切换到Gregory日历。因此,您的区域设置应为th-TH-u-ca-gregory。您可以使用函数将所需日历添加到浏览器返回的语言环境中:

function getLocale() {
  const locale = 'th';
  return `${locale}-u-ca-gregory`;
}

providers: [{ provide: LOCALE_ID, useFactory: getLocale }]

请参阅更新后的plunk