|
D_TIMED,D_DATIME Библиотека "JINRLIB" Z008
D_DATIMH,D_TIMEX
Автор: Т.Ф.Сапожникова
Язык: Фортран,C
ДАТА И ВРЕМЯ
Пакет программ для получения текущего календарного времени,
счетного времени и даты.
Структура:
----------
Тип: SUBROUTINE
Имена входа для пользователя: D_TIMED D_DATIME
D_DATIMH D_TIMEX
COMMON-блок: /Z008_DT/ IDT(6)
Обращение:
----------
CALL D_TIMED(T)
возвращает в T (REAL*8) счетное время ЦП в секундах, прошедшее
с момента последнего обращения к D_TIMED.
При первом обращении возвращается значение T = 0.
CALL D_DATIME(ID,IT)
возвращает целые (типа INTEGER) значения даты и времени в формате:
ID=yyyymmdd, IT=hhmm.
То же самое записывается в COMMON-блок:
COMMON /Z008_DT/ IDT(6)
IDT(1)=yyyy, IDT(2)=mm, IDT(3)=dd,
IDT(4)=hh, IDT(5)=mm, IDT(6)=ss.
CALL D_DATIMH(ND,NT)
возвращает дату и время в виде текстовых констант (CHARACTER):
ND = 10Hdd/mm/yyуу, NT = 8Hhh.mm.ss
CALL D_TIMEX(T)
возвращает в T (REAL*8) время выполнения задания в секундах
с дробной частью.
Только для SPP, Linux.
Замечание 1.
------------
Символы yyyy, mm, dd, hh, mm, ss, использованные выше,
соответствуют четырем десятичным цифрам года, двум десятичным
цифрам месяца, дня, часам, минутам и секундам соответственно.
Замечание 2.
------------
Для Microsoft Fortran 5.00, MicroSoft PowerStation Fortran и
Compaq Visual Fortran для ОС MS-DOS, Windows9X/NT/2000/XP
можно с некоторым приближением астрономическое время
считать счетным. Поэтому в подпрограммах были использованы
процедуры доступа к системному времени GETTIM и GETDAT.
Эти подпрограммы находятся в модулях MSFLIB для
MicroSoft PowerStation и DFLIB для Compaq Visual Fortran.
Рекомендуется в разделе деклараций вставить строку
USE MSFLIB (или USE DFLIB) для доступа к этим библиотекам.
Но практически это необязательно.
Пример:
-------
IMPLICIT REAL*8 (A-H,O-Z)
CHARACTER*10 ND
CHARACTER*8 NT
. . .
CALL D_TIMED(T) ! первое обращение, T=0
DO I=1,10000
X=DSQRT(1.+I)
ENDDO
CALL D_TIMED(T) ! второе обращение: время после 1-ого обращения
WRITE(*,'(4H T= ,F5.2)') T
CALL D_DATIMH(ND,NT)
WRITE(*,*)' Date: ',ND,' Time: ',NT
. . .
Результат:
----------
T= .05
Date: 12/ 4/2002 Time: 16.49.58
|