angular-moment-picker - 支持基于语言环境的标签,其英文提交格式为

时间:2016-10-25 11:39:51

标签: angularjs date internationalization momentjs

我正在使用angular-moment-picker组件处理我的应用程序中的日期,我正在努力引入i18n支持。我有正确的日期选择器与阿拉伯语标签正确呈现,但提交的日期字符串也是阿拉伯语文本。是否可以让标签保留在指定的区域设置中,但基础模型值是否保留为英文格式(例如,以YYYY-MM-DD格式提交)?

该组件有一个change事件,我可以用它来监听更改日期并使用以下代码重新格式化日期,但显然基础模型仍包含阿拉伯文本。

vm.onChange = function(newValue) {
  var englishDate = moment(newValue, 'LL', 'ar').locale('en');
  var date = englishDate.format('YYYY-MM-DD HH:mm');

  // date correctly contains the english format date however it is not on the model variable
}

谢谢!

1 个答案:

答案 0 :(得分:0)

你可以在瞬间选择器和ng模型中使用不同的对象,其中一个用于时刻选择器的对象将被格式化,而ng-model将是一个moment.js对象。

<div id="fromDatePicker" class="input-group" moment-picker="vm.fromDateFormatted" format="L" ng-model="vm.fromDate">
<input class="form-control" ng-model="vm.fromDateFormatted" ng-model-options="{ updateOn: 'blur' }" placeholder="From date...">
<span class=" input-group-addon "><i class="icon icon-calendar "></i></span>
</div>

在代码中使用vm.fromDateFormatted进行显示和vm.fromDate,如更改事件

Formatted date: {{ vm.fromDateFormatted}}

有关详细信息,请参阅此问题的答案:https://github.com/indrimuska/angular-moment-picker/issues/92