我正在构建一个定位多个区域设置的网络应用。我的应用程序是使用Angular 2在TypeScript中编写的。
我的面向用户的日期控件为每个月/日/年框都有丰富的布局。我在模板中使用了一些代码来根据用户的区域设置订购M / D / Y框(例如,' DD / MM / YYYY'用于en-CA,&# 39; MM / DD / YYYY' for en-US)。
目前,我已经定义了一大堆我定义的区域设置(https://stackoverflow.com/a/9893752/106639),然后匹配浏览器语言区域设置以获取格式化字符串。对于我正在做的事情来说,感觉就像是一种愚蠢的方式。
我需要做的事情的95%都在MomentJs中,无论格式化字符串如何,我的控制器和测试都能正常工作。
不幸的是,在不知道格式化字符串的情况下,我不知道如何设置我的UI组件的顺序以符合用户的期望(例如,如果我期望DD / MM / YYYY,它不会&# 39;如果一切都尊重DD / MM / YYYY,除了可见的UI控件外,我会做得很好。
Moment公开了一些区域设置数据(http://momentjs.com/docs/#/i18n/locale-data/),但它似乎更多地是关于实际日期的特定于区域设置的投影,而不是格式化字符串。
我理想的插入式解决方案就像是moment()。localeData()。dateFormatString,它会返回我" DD / MM / YYYY"。
或者,如果我似乎完全在错误的轨道上处理这种UI情况,一些指针将不胜感激!