週番号:ISO 8601 vs US(POSIX)システム

ISO 8601とUS週番号の違いを理解。第1週の開始タイミング、週の開始日の慣例、コードでの週番号取得方法を解説。

Concepts

詳細な説明

週番号システム

2つの主要な週番号システムが存在し、同じ日付に異なる週番号を割り当てることがあります。この違いはレポート、スケジューリング、財務計算で微妙なバグを引き起こします。

ISO 8601週番号

ルール:

  • 週は月曜日に始まる
  • 第1週はその年の最初の木曜日を含む週
  • 1年は52週または53週

US(POSIX)週番号

ルール:

  • 週は日曜日に始まる
  • 第1週は1月1日を含む週

コードでの週番号取得

言語 ISO週 US週
Python d.isocalendar()[1]または%V %U(日)/ %W(月)
Java WeekFields.ISO.weekOfYear() WeekFields.SUNDAY_START.weekOfYear()
PHP date("W")(ISOのみ) ISOのみサポート
Go d.ISOWeek() 手動計算

週の開始日(地域別)

開始日 地域
月曜日 ヨーロッパ、アジアの多く、オーストラリア、アフリカ(ISO標準)
日曜日 アメリカ、カナダ、日本、イスラエル
土曜日 中東の多く(イラン、アフガニスタン)

ユースケース

週番号は週次集計のビジネスインテリジェンスレポート、週次ベースの給与処理、週ベースのタイムラインを表示するプロジェクト管理ツール、週番号に従う農業・学術スケジューリング、欧州市場でのISO 8601ベースの財務報告に影響します。

試してみる — Date Format Reference & Tester

フルツールを開く