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

Format date in local language (moment.js)

本文关键字:moment js 日期 格式化 语言      更新时间:2023-09-26

你能帮我把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这行。格式("MMMM D"),则当前显示为5月31日、6月6日等。我想要的是31 Mei, 6 Juni(荷兰日期)。

我在文档中没有看到一个关于如何使用本地语言格式的清晰示例

感谢任何帮助!

全局更改区域设置:

moment.locale('nl');

确保还加载了moment-with-locale .(min.)js文件

像这样?

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提供了实例特定的配置,因此您必须为您想要在德语中使用的每个moment实例调用.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
CDN

您可以像这样全局更改moment locale:

import moment from 'moment';
import localization from 'moment/locale/fr';
moment.locale('fr', localization);