【问题标题】:moment().startOf('week') is not the same for locale('en-ca') and locale('zh-cn')对于 locale('en-ca') 和 locale('zh-cn'),moment().startOf('week') 不一样
【发布时间】:2018-02-01 23:09:41
【问题描述】:
dt: moment()

console.log(moment(dt).locale('en-ca').startOf('week')).format('MMM D')  //returns Jan 28
console.log(moment(dt).locale('zh-cn').startOf('week')).format('MMM D')  //returns Jan 22

第一个 console.log 返回 1 月 28 日 locale('en-ca') 是星期日 第二个 console.log 返回 1 月 22 日 locale('zh-cn') 是星期一

时间不同步

【问题讨论】:

  • startOf('week') 提供输出区域设置感知(zh-cn 的一周从星期一开始,而en-ca 的一周从星期日开始),如果你想要 "区域独立,请使用 startOf('isoweek') " 结果。

标签: react-native momentjs


【解决方案1】:

由于 1 月 28 日是星期日,'en-ca' 一周的第一天是星期日,因此您得到的是 28 日。 但是在'zh-cn' 系统中,一周的第一天被认为是星期一,因此比星期日早 6 天,即 1 月 22 日,星期一。

如果您希望 'zh-cn' 使用星期日作为一周的第一天,您可以这样做:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 2018-09-23
    • 2018-03-22
    相关资源
    最近更新 更多