Oracle Solaris Studio 12.4 Man Pages

Exit Print View

Updated: January 2015
 
 

date_and_time(3F)

Name

date_and_time - 以字符形式返回日期和时间

Synopsis

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

Description

这是 Fortran 90 例程 DATE_AND_TIME 的 Fortran 77 版本,不存在 Y2K 问题

DATE_AND_TIME 子例程返回来自实时时钟和日期的数据。将返回本地时间,以及本地时间与通用协调时间 (Universal Coordinated Time, UTC)(也称为格林威治标准时间,GMT)之间的差值。

DATE_AND_TIME 子例程接受以下参数:

date

必须是一个字符类型的标量。它的长度必须至少为 8 个字符才能包含完整的值。它是一个输出参数,并且最左侧的 8 个字符设置为 YYYYMMDD 形式的值,其中,YYYY 是四位数的年份,MM 是年份内的月份,DD 是月份内的天。如果没有日期可用,则会将 date 设置为空。

time

必须是一个字符类型的标量。它的长度必须至少为 10 个字符才能包含完整的值。它是一个输出参数,并且最左侧的 10 个字符设置为 hhmmss.sss 形式的值,其中,hh 是天中的小时,mm 是小时中的分钟,ss.sss 是分钟中的秒和毫秒。如果没有时钟可用,则会将 time 设置为空。

zone

必须是一个字符类型的标量。它的长度必须至少为 5 个字符才能包含完整的值。它是一个输出参数,其最左侧的 5 个字符设置为 +-hhmm 形式的值,其中,hhmm 分别是与 UTC 之间的时间差中的小时数和以分钟表示的非完整小时数。如果没有时钟可用,则会将 zone 设置为空。(注意:本地时区是由操作系统和/或 TZ 环境变量设置的。)

values

必须属于缺省的整数类型并且必须是一秩元。它是一个输出参数且必须具有至少 8 个元素。values 中返回的值如下所述:

返回值

values(1)

年份(也就是 1990

values(2)

年份中的月份 (1-12)

values(3)

月份中的天 (1-31)

values(4)

相对于 UTC 的时间差(分钟)

values(5)

天中的小时,范围为 023

values(6)

小时中的分钟,范围为 059

values(7)

分钟中的秒,范围为 060

values(8)

秒中的毫秒,范围为 0999

Examples

 
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

Files

libfui.a

See also

idate(3F)、ctime(3F)、fdate(3F)

《FORTRAN 77 Language Reference Manual》