Moment.js 一周的第一天不正确

2024-04-03

这是我第一次使用 Moment.js。我尝试检索一周第一天的日期,在欧洲这通常是星期一。无论我做什么,星期天都是一周的第一天。

我尝试设置不同的语言(本地或全球),但无济于事。我使用 langs.min.js 文件moment.js github 页面 https://github.com/timrwood/moment/tree/develop/min。 “en-gb”的语言文件和"fr" https://github.com/timrwood/moment/blob/develop/lang/fr.js有代码行:

dow : 1, // Monday is the first day of the week.

所以当我询问一周的第一天时我会得到星期一的日期,对吧?我不断得到周日作为输出。

// Create moment object
var localLang = moment();

// Set language to french
localLang.lang('fr');

// Test language
localLang.lang(); // Output: fr

// Retrieve first day of the week and format it
var dow = localLang.startOf('week').format('dddd DD-MM-YYYY'); // Output: dimanche 14-04-2013

Dimanche 是法语中的 Sunday。如您所见,moment.js 可以成功使用语言文件,但不使用星期几配置

JSfiddle 与 moment.js 和 langs.js 进行测试:JSFiddle http://jsfiddle.net/JesseDobbelaere/pCwb5

编辑: 我可以得到星期一而不是星期日的日期day(1)代替startOf('week')。但使用day(0)结果我仍然得到周日。为什么星期一不是语言文件中配置的一周的第一天。


对于最近遇到这个问题的人,现在就支持lang设置区域设置特定设置的方法。

将第一周设置为星期一:

moment.lang('zh-cn', {
    week : {
        dow : 1 // Monday is the first day of the week
    }
});

var date = moment().weekday(0); // date now is the first day of the week, (i.e., Monday)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Moment.js 一周的第一天不正确 的相关文章

随机推荐