ISO 9660の日時形式

ISO 9660の日時形式

IS0 1001 (磁気テープ)

[3] JIS X 0601:2000 によると:

8.5.1.10作成日付 (BP42∼47) ファイル分割の作成日付を指定する欄とする。年日表現の場合,第 1 文字が間隔文字のときは,西暦年の最初の 2 けたが 19 であることを示し,“0”のときは 20 であることを示す。次の 2 文字は,西暦年の下 2 けたを 00∼99 の数字で示す。さらに次の 3 文字は,日の順序を 001∼366 の 10 進数で示す。下 5 けたがすべて“0”のときは,作成日付が指定されていないことを示す。

年月日表現の場合,最初の 2 文字は,西暦年の下 2 けたを示す。次の 2 文字は,月を示し,最後の 2 文字は,日を示す。ただし,年月日表現は,最初の 2 けたが 50∼99 の場合,西暦 1900 年代を表し,00∼49の場合,西暦 2000 年代を表す。ただし,年月日表現は,西暦 2050 年以降使用してはならない。6 けたすべてが“0”のときは,作成日付が指定されていないことを示す。

8.5.1.11満了日付 (BP48∼53) ファイル分割のデータを破棄してもよい最初の日付を指定する欄とする。年日表現の場合,第 1 文字が間隔文字のときは,西暦年の最初の 2 けたが 19 であることを示し,“0”のときは 20 であることを示す。次の 2 文字は,西暦年の下 2 けたを 00∼99 の数字で示す。さらに次の 3 文字は,日の順序を 001∼366 の 10 進数で示す。下 5 けたがすべて“0”のときは,満了日付が指定されていないことを示し,データは破棄してもよい。

年月日表現の場合,最初の 2 文字は,西暦年の下 2 けたを示す。次の 2 文字は,月を示し,最後の 2 文字は,日を示す。ただし,年月日表現は,最初の 2 けたが 50∼99 の場合,西暦 1900 年代を表し,00∼49の場合,西暦 2000 年代を表す。ただし,年月日表現は,西暦 2050 年以降使用してはならない。6 けたすべてが“0”のときは,満了日付が指定されていないことを示し,データは破棄してもよい。

ISO 7665 (FD)

[2] JIS X 0603:2000 情報交換用フレキシブルディスクカートリッジのラベル及びファイル構成 によると:

8.5.15 作成日付 (BP48~53) ファイル又はファイル分割の作成日付を指定する欄とし, 次に示す文字で指定しなければならない。

間隔文字
作成日付が無意味なとき。
第1けた及び第2けた
西暦年の下2けたを数字 00~99 で指定。 ただし, 50~99の場合, 西暦1900年代を表し, 00~49の場合, 西暦2000年代を表す。ただし, 年月日表現は, 西暦2050年以降使用してはならない。
第3けた及び第4けた
月を数字01~12で指定。
第5けた及び第6けた
日を数字01~31で指定。

8.5.20 満了日付 (BP67~72) ファイル又はファイル分割を廃棄してもよいか否か, また, 廃棄してよい場合は廃棄してもよい日付を指定する欄とし, 次に示す文字で指定しなければならない。

間隔文字
いつでも廃棄してよいとき。
数字999999
廃棄してはならないとき。
999999以外の数字
廃棄してもよい最初の日付を次の形式で指定する。
第1けた及び第2けた
西暦年の下2けたを数字 00~99 で指定。 ただし, 50~99の場合, 西暦1900年代を表し, 00~49の場合, 西暦2000年代を表す。ただし, 年月日表現は, 西暦2050年以降使用してはならない。
第3けた及び第4けた
月を数字01~12で指定。
第5けた及び第6けた
日を数字01~31で指定。
附属書 (参考) JIS と対応する国際規格との対比表

8. ラベルの書式と内容

ISO 7665:1983 作成日付及び満了日付は年月日表現となっている。 MOD/追加 JIS で次の内容を追加。 59~99 の場合, 西暦1900年代を表し, 00~49の場合, 西暦2000年代を表す。 ただし, 西暦2050年以降使用してはならない。

データの読み違いを防止するため。追加内容を国際提案する予定。

ISO 9660 (CD-ROM)

[1] JIS X 0606:1998 によると:

8.4.26.1 日付及び時刻の形式 日付及び時刻は,表 5 に従って記録された 17 バイトの欄によって表す。

表 5 日付及び時刻の形式
BP説明内容
1∼41∼9999(年)数字
5∼61∼12(月)数字
7∼81∼31(日)数字
9∼100∼23(時)数字
11∼120∼59(分)数字
13∼140∼59(秒)数字
15∼160∼99(1/100 秒)数字
17協定世界時からの差分。差分は,15 分間を単位として表現した−48(西)から+52(東)までの数値とし,7.1.2 に従って記録する。数値

この欄の RBP1∼16 の全文字が数字 0 で,RBP17 内の数値が 0 の場合,日付及び時刻が指定されていないことを意味する。

9.1.5 記録日付及び時刻 (BP19∼25) ディレクトリレコードによって記述されるエクステント内の情報を記録した日付及び時刻を指定する。日付及び時刻は,表 9 に従って記録された 7 バイトの欄によって表す。各バイトは,7.1.1 に従って記録する。

表 9 記録日付及び時刻
BP欄の名前内容
11900年以後の年数値
21∼12(月)数値
31∼31(日)数値
40∼23(時)数値
50∼59(分)数値
60∼59(秒)数値
7協定世界時からの差分。差は,15 分間を単位として表現した−48(西)から+52(東)までの数値とし,7.1.2 に従って記録する。数値

全数値が 0 の場合には,日付及び時刻が指定されていないことを意味する。

[4] IROIRO 1998b () <https://web.archive.org/web/20010715105332/http://www.asahi-net.or.jp:80/~ez3k-msym/iroiro98b.htm>

JIS X 0601-1990 (情報交換用磁気テープのラベル及びファイル構成) をなにげなく見ていると, 8.5.1.10 に Y2K 関連の話あり。 磁気テープの日付は YYMMDD の 6桁だがこれでは世紀の変わり目に対応できないので, もうひとつ YYYddd (ddd は年の中の日の通し番号 001-366, strftime の %j) という形式も用意されている。 この方法なら年のために用意されたフィールドのバイト数を変える必要はない。 Y のひと桁めは 19xx 年の場合スペース, 2000年以降は年の百の桁となる。 問題は YYMMDD と YYYddd をどう区別するかだが, 規格には書いてない。 Y の一桁目で区別するしかない?