DATE_AND_TIME(3F)

名前
date_and_time - 文字形式の日付と時刻を戻す

形式
subroutine date_and_time (date, time, zone, values)
character*8 date
character*10 time
character*5 zone
integer*4 values(8)

機能説明
このルーチンは、Fortran 90 のルーチン DATE_AND_TIME
 の Fortran 77 版であり、 西暦 2000 年問題 に対応しています。

The DATE_AND_TIME サブルーチンは、リアルタイムクロックと日付からデータを 戻します。現地時間と、現地時間と世界標準時 (UTC) (グリニッジ平均時 (GMT) とも 呼ばれる) との差が戻されます。

DATE_AND_TIME サブルーチンでは次の引数を使用できます。

date
    文字型のスカラーでなければなりません。この値の長さは少なくとも 8 文字でなければ なりません。この引数は出力引数であり、左端から 8 文字が形式 YYYYMMDD の値 に設定されます。YYYY は 4 桁の年、MM は月、そして、 DD は日を示します。使用できる日付がない場合、date は空白に設定されます。

time
    文字型のスカラーでなければなりません。この値の長さは少なくとも 10 文字でなければ なりません。この引数は出力引数であり、左端から 10 文字が形式 hhmmss.sss の 値に設定されます。hh は時間、mm は分、そして、ss.sss は秒とミ リ秒を示します。使用できるクロックがない場合、time は空白に設定されます。

zone
    文字型のスカラーでなければなりません。この値の長さは少なくとも 5 文字でなければ なりません。この引数は出力引数であり、左端から 5 文字が形式 ±hhmm の 値に設定されます。hh と mm は、それぞれ、UTC との差の時間と分の部分 を示します。使用できるクロックがない場合、zone は空白に設定されます (注: 現地時間はオペレーティングシステムまたは TZ 環境変数 (あるいは 、その両方) によって設定されます)。

values
    基本整数型であり、次元数が 1 でなければなりません。この値は出力引数で あり、少なくとも 8 つの要素を持たなければなりません。values に戻される値は次のと おりです。

    値   戻り値

    values(1)
        年 (つまり、1990)

    values(2)
        月 (1-12)

    values(3)
        日 (1-31)

    values(4)
        UTC との時間の差 (分単位)

    values(5)
        時間 (0 to 23)

    values(6)
        分 (0 to 59)

    values(7)
        秒 (0 to 60)

    values(8)
        ミリ秒 (0 to 999)

使用例

   integer*4 date_time(8)
   character(len=10) big_ben(3)
   call date_and_time(big_ben(1), big_ben(2), big_ben(3), date_time)
   print *,'date_time array values:'
   print *,'year=',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 *,'hour of day=',date_time(5)
   print *,'minutes of hour=',date_time(6)
   print *,'seconds of minute=',date_time(7)
   print *,'milliseconds of second=',date_time(8)
   print *, 'DATE=',big_ben(1)
   print *, 'TIME=',big_ben(2)
   print *, 'ZONE=',big_ben(3)
   end

このプログラムが 1997 年 10 月 10 日に米国のカリフォルニアで実行された場合は、次 のように出力します

 date_time array values:
 year=  1997
 month_of_year=  10
 day_of_month=  10
 time difference in minutes= -420
 hour of day=  16
 minutes of hour=  35
 seconds of minute=  37
 milliseconds of second=  708
 DATE=19971010
 TIME=163537.708
 ZONE=-0700

ファイル
libfui.a

関連項目
idate(3f), ctime(3F), fdate(3F), および 『Fortran ライブラリ・リファレンス』