1

假设我们有以下日期:2019 年 11 月 1 日。

我只想显示月份的名称,MMMM但当我希望得到“ноябрь”时,将结果格式化为“ноября”。

它在moment.js中工作正常(语言环境:ru):

// if format starts with month name
moment([2019, 11, 1]).format('MMMM') => 'ноябрь'

// if format doesn't start with month name
moment([2019, 11, 1]).format('DD MMMM') => '1 ноября'

我想切换到 moment.js,尽管我已经在使用严格依赖于date- fns 的库。如何实现以俄语正确显示月份名称的格式?

date-fns 的 GitHub 存储库

4

3 回答 3

0

如date-fns 格式文档页面LLLL中的示例所示使用。

演示:

const fns = require('date-fns');
const { ru } = require('date-fns/locale');

const now  = new Date(2019, 11, 1);

console.log(fns.format(now, "LLLL", {locale: ru}));

输出:

декабрь

ONLINE DEMO

注:点击Console在线演示页面右下角。)

于 2021-08-06T21:29:21.130 回答
0

我在 react-datepicker 的用例中解决此问题的方法是将月份名称以西里尔字母格式作为格式传递。

const getMonthName = (date) => {
    const months = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'];
    return months[date.getMonth()];
};

<DatePicker dateFormatCalendar={ getMonthName(new Date()) } />

format(new Date(2014, 1, 11), getMonthName(new Date(2014, 1, 11)))

在我有限的用例下工作

于 2020-04-15T07:13:58.547 回答
0

您需要将 MMMM 更改为 LLLL

于 2021-08-05T11:05:34.153 回答