我正在尝试更改moment.js设置的日期的语言。默认是英语,但我想设置德语。以下是我的尝试:
var now = moment().format("LLL").lang("de");
它会产生NaN。
var now = moment("de").format("LLL");
这甚至不是反应。
var now = moment().format("LLL", "de");
没有变化:这仍然是用英语生成的结果。
这怎么可能呢?
我正在尝试更改moment.js设置的日期的语言。默认是英语,但我想设置德语。以下是我的尝试:
var now = moment().format("LLL").lang("de");
它会产生NaN。
var now = moment("de").format("LLL");
这甚至不是反应。
var now = moment().format("LLL", "de");
没有变化:这仍然是用英语生成的结果。
这怎么可能呢?
当前回答
对我来说,有一些改变要做。2.20)
使用moment.locale('de')设置locale,然后创建一个新对象,用moment()表示现在的日期(注意括号),然后格式化('LLL')它。括号很重要。
这意味着:
moment.locale('de');
var now = moment();
now.format('LLL');
另外,记得使用moment-with-locale.js。该文件包含所有语言环境信息,文件大小较大。下载locale文件夹是不够的。如有必要,将名称改为moment.js。Django只是拒绝加载moment-with-locale.js。
编辑: 结果证明,重命名文件是不必要的。我只是忘记在页面中调用它,所以Django不认为加载它是必要的,这是我的错。
其他回答
对于那些在异步环境中工作的人来说,在按需加载区域设置时,moment的行为会出乎意料。
而不是
await import('moment/locale/en-ca');
moment.locale('en-ca');
颠倒顺序
moment.locale('en-ca');
await import('moment/locale/en-ca');
似乎locale被加载到当前选定的locale中,覆盖了之前设置的任何locale信息。所以先切换语言环境,再加载语言环境信息不会导致这个问题。
返回moment(status.created_at).locale('es').fromNow();
根据版本更改moment js语言
版本:2 + 8。
moment.locale('嗨');
版本:2.5.1
moment.lang('嗨');
哎呀,笔误。我会解决这个问题: Var矩=函数(x){返回矩(x).locale('de');其他方法在某些条件下(对我来说)似乎不太管用。
我不知道发生了什么变化,但像这样导入语言文件对我有用
import 'moment/src/locale/fr';
moment.locale('fr')
注意import语句中的src