角度模块中的 moment.locale 将不起作用

moment.locale in angular module won't work

本文关键字:locale 不起作用 moment 模块      更新时间:2023-09-26

我对 angular 很陌生,并试图修改一段代码。在一个角度模块中,我有这个:

angular.module('xxx')
.factory('$browse', ['xxx', 
  function(xxx) { 
    browse.formatItem = function(item) {
      if (item.creationDate) {
        item.creationDatePretty = moment(item.creationDate).format('MM/DD/YY');
      }
    }
    //...
  }
  //...
])

我想做的,是使用特定的locale格式化creationDate,而不是硬编码格式。我尝试将第 6 行更改为:

var locale = 'xxx'; //a particular locale
moment.locale(locale);
item.creationDatePretty = moment(item.creationDate);

但是moment.locale(locale)似乎需要很长时间才能运行(或者根本不运行?),而且我无法记录正在发生的事情以找出问题所在。为什么我不能使用moment.locale()的任何想法?

附言我什至尝试做一个alert(moment.locale());但这也不起作用。

编辑:语法

你应该使用角度矩:https://github.com/urish/angular-moment

旧版本的moment支持lang而不是locale。例如:

moment.lang('fr')