[2] 
C言語の time.h の構造体
tm
は、日時を表します。
[3] tm は、 calendar time の各 component を保持します。
すなわち broken-down time を表します。 >>1
tm_secint [ 0, 60 ]
(60 は正閏秒)tm_minint [ 0, 59 ]tm_hourint [ 0, 23 ]tm_mdayint [ 1, 31 ]tm_monint [ 0, 11 ]tm_yearinttm_wdayint [ 0, 6 ]tm_ydayint [ 0, 365 ]tm_isdstint : 
DST 中は正、
DST 外は 0、
不明なら負。
mktime では、
正か 0 なら DST 中・外の時刻とみなして解釈しようとし、
負なら指定時刻が DST 中かどうか判定しようとします。[5] C言語と Perl の
gmtime, localtime は time_t を tm
に変換します。
[8] C言語の mktime は tm を受け取り time_t を返します。
[13] Perlモジュールの Time::Local は
tm リストを受け取り time_t を返します。
2桁西暦年号の解釈の特殊な規則があるため
gmtime/localtime の完全な逆演算にはなっていません。
年、月、日、時間、分、秒の値を受け取るか返すクラスDateのすべてのメソッドにおいて、次の表示が使用されます。
年yは整数y - 1900によって表されます。
月は0 - 11の整数で表されます。0は1月、1は2月、そして11は12月を意味します。
日(月の何日目)は通常どおり1 - 31の整数で表されます。
時間は0 - 23の整数で表されます。このため、深夜零時から午前1時までの時間は時刻0であり、正午から午後1時までの時間は時刻12を意味します。
分は通常どおり0 - 59の整数で表されます。
秒は0 - 61の整数で表されます。値60および61は、うるう秒のためにだけ、そして実際にうるう秒を正確に追跡するJavaの実装だけで発生します。現在使われているうるう秒の算出法では、2回のうるう秒が同じ分に発生することはきわめてまれですが、この仕様はISO Cによる日付および時刻の規約に従います。