@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

週番号と年を使うと1週目がずれた

moment.jsで日付周りの処理を書いていて、1週目の挙動がおかしかった。 年の指定をYYYYからggggに変更すれば期待した挙動になった。

状況

日付から 年+週番号 を抜き出して利用していた。 moment.jsのフォーマットでいう YYYYww

間違い

2018/12/30は2019年の1週目になるので期待する出力は 201901だったが、 YYYYは2018になる。

正解

正しくは ggggww。さすがmoment.js そのためのフォーマット識別子を用意していた。

大文字と小文字の違いは ISOで規定された週番号(GGGG, WW)と、ロケールに応じた週番号(gggg, ww)

参考