今日会社でチラっと話題になったんだけど、Time::Piece の week() メソッドや、Date::Calc の Week_of_Year() 関数で、2005 年 1 月 1 日が何週目かを求めると、53 週目であるという結果が返るらしい。 以下のコードで確認が出来るuse strict; use Time::Piece; print Time::Piece->strptime('2005-01-01', '%Y-%m-%d')->week, "\n"; use strict; use Date::Calc qw(Week_of_Year); print scalar(Week_of_Year(2005, 1, 1)), "\n"; ちょっと Time::Piece を追ってみたら、ユリウス暦日ほげほげグレゴリオ暦ほげほげな処理をやっていて意味不明だったんだけど、どうやら、ISO
![Time::Piece と Date::Calc で求める週数の罠 : にぽたん研究所](https://cdn-ak-scissors.b.st-hatena.com/image/square/da78a05937633f7a2b4b2219826151c370cd607b/height=288;version=1;width=512/https%3A%2F%2Fparts.blog.livedoor.jp%2Fimg%2Fusr%2Fcmn%2Fogp_image%2Flivedoor.png)