100.28.4 Tm_week

関数 tm_week(t, standard) は、その引数を 1970 年 1 月 1 日からの秒数 での時刻とみなします。なお、関数名から POSIX の tm 構造体のメンバと思 うかもしれませんが、そうではありません。

standard = 0 の場合、これは ISO 8601 週曜日規則での週番号を返します。 これは、gnuplot の時刻書式 %W に対応します。 standard = 1 の場合、これは CDC (アメリカ疾病予防管理センター) 疫学的 週曜日規則 (「疫学的週」) での週番号を返します。 これは、gnuplot の時刻書式 %U に対応します。 これらに対応する、週曜日からカレンダー時刻に変換する逆関数については、 以下参照: weekdate_iso (100.28.5), weekdate_cdc (100.28.6)

解説: ISO の YYYY 年の 1 番の週は、YYYY 年 1 月 1 に一番近い月曜日から 始まります。これは、前の年になる可能性もあります。例えば、2008 年 12 月 30 日火曜日は、ISO の週曜日では 2009-W01-2 (2009 年の週番号 1 の第 2 日) となります。逆に、1 月の 1 日から 3 日までは、ISO の週番号 1 の 月曜より前になることがありえます。この場合、これらの日は、前の年の最後 の週番号の週に含まれることになります。例えば、2021 年 1 月 1 日金曜日 は、ISO の週曜日では 2020-W53-5 です。

アメリカ疾病予防管理センター (CDC) の定める疫学的週は、同様の週曜日規 則ですが、ISO 規則とは、月曜開始ではなく、日曜開始であるところが違いま す。

竹野茂治@新潟工科大学
2022-07-20