• 请不要在回答技术问题时复制粘贴 AI 生成的内容
nidongpinyinme
V2EX  ›  程序员

关于[Moment.js]每年整出来 53 个周的事儿

  •  
  •   nidongpinyinme · Jan 24, 2021 · 3798 views
    This topic created in 1958 days ago, the information mentioned may be changed or developed.

    最近在入了 obsidian 的坑做日报,然后往周报上发展时发现 moment.js 的周算法和 launchbar 的不太一样 以今天( 2021-01-24 )为例

    • launchbar:使用 snippet,<date 第 w 周>,由于默认周日为一周开始,所以输出为第 5 周,昨天则是第 4 周
    • obsidian:内置的日记插件,设置周日为一周开始时间是第 4 周,否则是第 3 周

    有什么方法可以把这两边统一一下吗

    看了下 obsidian 的文档,用的是moment.js,写着 ww 可以生成 1-53 周,这真的合理吗?

    9 replies    2021-01-30 20:29:58 +08:00
    renmu123
        1
    renmu123  
       Jan 24, 2021 via Android
    iso 某个时间标准是对周数有规定的
    Lax
        2
    Lax  
       Jan 24, 2021
    52 * 7 = 364, 多出来的 1 天是 53 周没问题啊?
    如楼上所说,ISO8601 有规定
    no1xsyzy
        3
    no1xsyzy  
       Jan 25, 2021
    2020 年有 53 个周四,才有 53 周
    大部分年份只有 52 周。
    nidongpinyinme
        4
    nidongpinyinme  
    OP
       Jan 25, 2021
    @renmu123 但是两边的计数算法有冲突,所以想问问有没有插件或者算法之类的规避一下
    nidongpinyinme
        5
    nidongpinyinme  
    OP
       Jan 25, 2021
    @Lax 但是不是那一天是 53 呀,两个软件一个识别成新年的第 1 周,另一边是第 53 周,这一年后面的每一周不是都会有错位吗
    buhi
        6
    buhi  
       Jan 26, 2021
    稍微想一下也知道他们有选项可以设置每周的第一天是星期一还是星期日吧, 自己翻翻 moment.js 文档很快就找到了
    Lax
        7
    Lax  
       Jan 26, 2021
    @nidongpinyinme #5 看下 ISO,周数是按周四所在的周是哪一年来确定的。2021 年第一个周四是 1 月 7 日,后面分别是 1.14 ,1.21 ,1.28 。
    1.24 是周日,根据你的需求(周日开始或是周一开始一周),既可能是第 3 周,也可能是第 4 周。
    nidongpinyinme
        8
    nidongpinyinme  
    OP
       Jan 29, 2021
    @buhi 现在面临的问题不是第一天是星期几,而是一个软件当成 2020 年的第 53 周,一个软件当成 2021 年的第一周的差异
    buhi
        9
    buhi  
       Jan 30, 2021
    @nidongpinyinme 一个把周日划分到上一周, 另一个把周日划分到下一周, 不就会出现你说的这种情况吗, 所以我高度怀疑这个原因.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3199 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 03:02 · PVG 11:02 · LAX 20:02 · JFK 23:02
    ♥ Do have faith in what you're doing.