Sun Studio 12:Fortran 库参考

1.4.7.1 date_and_time:获取日期和时间

这是一个 2000 年安全的 Fortran 95 内例程。

子例程 date_and_time 返回实时时钟和日期的相关数据。返回数据包括本地时间以及本地时间与通用协调时间 (Universal Coordinated Time, UTC) 之间的时差,通用协调时间也称为格林威治标准时间 (Greenwich Mean Time, GMT)。

子例程 date_and_time() 的调用方式如下:

call date_and_time( date , time, zone, values )

date

CHARACTER*8

输出 

以 CCYYMMDD 格式表示的日期,其中 CCYY 表示四位数的年份,MM 表示两位数的月份,DD 表示两位数的当月日期。例如: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    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=’,b(1)
       print *, ’TIME=’,b(2)
       print *, ’ZONE=’,b(3)
       end

2000 年 2 月 16 日在美国加利福尼亚的一台计算机上运行该例程时,输出结果如下所示:


 date_time    array values:
 year= 2000
 month_of_year= 2
 day_of_month= 16
 time difference in minutes= -420
 hour of day= 11
 minutes of hour= 49
 seconds of minute= 29
 milliseconds of second= 236
 DATE=20000216
 TIME=114929.236
 ZONE=-0700