# マニュアルページ 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 ライブラリ
         ・リファレンス』