これは、Fortran 95 組み込みルーチンで、2000 年以降も有効です。
date_and_time サブルーチンはリアルタイムクロックと日付のデータを返します。現地時間のほかに、現地時間と世界標準時 (UTC: Universal Coordinated Time) (グリニッジ平均時 (GMT: Greenwich Mean Time) とも呼ぶ) の時差も返します。
date_and_time() サブルーチンは、次のように呼び出します。
call date_and_time( date , time, zone, values ) |
|||
date |
CHARACTER*8 |
出力 |
日付。 書式は CCYYMMDD。 CCYY は 4 桁の年、MM は 2 桁の月、DD は 2 桁の日。例: 19980709 |
time |
CHARACTER*10 |
出力 |
現在の時刻。書式は hhmmss.sss。hh は時、mm は分、ss.sss は秒とミリ秒 |
zone |
CHARACTER*5 |
出力 |
UTC を使用した場合の時差。 時分で示す。 書式は hhmm |
values |
INTEGER*4 VALUES(8) |
出力 |
次に説明する 8 要素の整数配列 |
INTEGER*4 values に返される 8 つの値は次のとおりです。
VALUES(1) |
4 桁の整数の年。たとえば、1998。 |
VALUES(2) |
1 〜 12 の整数の月。 |
VALUES(3) |
1 〜 31 の整数の日。 |
VALUES(4) |
UTC を使用した場合の時差 (分)。 |
VALUES(5) |
1 〜 23 の整数の時。 |
VALUES(6) |
1 〜 59 の整数の分。 |
VALUES(7) |
0 〜 60 の整数の秒。 |
VALUES(8) |
0 〜 999 の範囲のミリ秒。 |
date_and_time の使用例
demo% cat dtm.f integer date_time(8) character*10 b(3) call date_and_time(b(1), b(2), b(3), date_time) print *,'date_time 配列の値' print *,'年=',date_time(1) print *,'month_of_year=',date_time(2) print *,'day_of_month=',date_time(3) print *,'時差 (分)time difference in minutes=',date_time(4) print *,'時=',date_time(5) print *,'分=',date_time(6) print *,'秒=',date_time(7) print *,'ミリ秒=',date_time(8) print *, 'DATE=',b(1) print *, 'TIME=',b(2) print *, 'ZONE=',b(3) end |
2000 年 2 月 16 日にカリフォルニアで実行した場合の出力は次のとおりです。
date_time 配列の値: 年= 2000 month_of_year= 2 day_of_month= 16 時差 (分)= -420 時= 11 分= 49 秒= 29 ミリ秒= 236 DATE=20000216 TIME=114929.236 ZONE=-0700 |