以本地语言格式化日期(moment.js)

时间:2014-05-27 13:43:38

标签: javascript momentjs

您能否帮助我将UTC日期格式化为本地语言的文本表示形式(荷兰语具体)。

代码

var realDate = moment.utc(birthday);
var now = moment();
birthdayToday = (realDate.month() == now.month() && realDate.date() == now.date());
        data.Birthdays.push({
            Name: preferredName,
            Birthday: birthdayToday ? 'Today!' : realDate.format("MMMM D"),
            Path: path,
            PhotoUrl: photoUrl,
            AccountName: accountName,
            BirthdayIsToday: birthdayToday
        });

由于行realDate.format(“MMMM D”),此当前显示为5月31日,6月6日等。 我想要的是31 Mei,6 Juni(荷兰日期)。

我没有在文档中看到如何使用本地语言格式的明确示例

任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:5)

这样的东西?

var today = moment()
today.lang('de')
console.debug(today.calendar())
console.debug(moment().calendar())

结果:

Heute um 15:54 Uhr
Today at 3:54 PM

请记住包含moment-with-langs.js而不是简单的moment.js。另请注意,.lang提供了特定于实例的配置,因此您必须为要在德语中使用的每个时刻实例调用.lang('de')

或者,如果您想要全局配置:

moment.lang('de') //<-- call not on the instance, but on the moment function
var today = moment()
console.debug(today.calendar())
console.debug(moment().calendar())

结果:

Heute um 15:54 Uhr
Heute um 15:54 Uhr

Moment with langs CDN

答案 1 :(得分:5)

全局更改区域设置:

moment.locale('nl');

并确保您还加载与当地时间同步。(分钟)js 文件

答案 2 :(得分:0)

您可以像这样全局更改时刻的区域设置:

import moment from 'moment';
import localization from 'moment/locale/fr';

moment.locale('fr', localization);

希望对您有帮助。