Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:21:19

0001  
0002 C*********************************************************************
0003  
0004 C...PYTIME
0005 C...Finds current date and time.
0006 C...Since this task is not standardized in Fortran 77, the routine
0007 C...is dummy, to be replaced by the user. Examples are given for
0008 C...the Fortran 90 routine and DEC Fortran 77, and what to do if
0009 C...you do not have access to suitable routines.
0010  
0011       SUBROUTINE PYTIME(IDATI)
0012  
0013 C...Double precision and integer declarations.
0014       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0015       IMPLICIT INTEGER(I-N)
0016       INTEGER PYK,PYCHGE,PYCOMP
0017       CHARACTER*8 ATIME
0018 C...Local array.
0019       INTEGER IDATI(6),IDTEMP(3),IVAL(8)
0020  
0021 C...Example 0: if you do not have suitable routines.
0022       DO 100 J=1,6
0023       IDATI(J)=0
0024   100 CONTINUE
0025  
0026 C...Example 1: Fortran 90 routine.
0027 C      CALL DATE_AND_TIME(VALUES=IVAL)
0028 C      IDATI(1)=IVAL(1)
0029 C      IDATI(2)=IVAL(2)
0030 C      IDATI(3)=IVAL(3)
0031 C      IDATI(4)=IVAL(5)
0032 C      IDATI(5)=IVAL(6)
0033 C      IDATI(6)=IVAL(7)
0034  
0035 C...Example 2: DEC Fortran 77. AIX.
0036 C      CALL IDATE(IMON,IDAY,IYEAR)
0037 C      IDATI(1)=IYEAR
0038 C      IDATI(2)=IMON
0039 C      IDATI(3)=IDAY
0040 C      CALL ITIME(IHOUR,IMIN,ISEC)
0041 C      IDATI(4)=IHOUR
0042 C      IDATI(5)=IMIN
0043 C      IDATI(6)=ISEC
0044  
0045 C...Example 3: DEC Fortran, IRIX, IRIX64.
0046 C      CALL IDATE(IMON,IDAY,IYEAR)
0047 C      IDATI(1)=IYEAR
0048 C      IDATI(2)=IMON
0049 C      IDATI(3)=IDAY
0050 C      CALL TIME(ATIME)
0051 C      IHOUR=0
0052 C      IMIN=0
0053 C      ISEC=0
0054 C      READ(ATIME(1:2),'(I2)') IHOUR
0055 C      READ(ATIME(4:5),'(I2)') IMIN
0056 C      READ(ATIME(7:8),'(I2)') ISEC
0057 C      IDATI(4)=IHOUR
0058 C      IDATI(5)=IMIN
0059 C      IDATI(6)=ISEC
0060  
0061 C...Example 4: GNU LINUX libU77, SunOS.
0062 C      CALL IDATE(IDTEMP)
0063 C      IDATI(1)=IDTEMP(3)
0064 C      IDATI(2)=IDTEMP(2)
0065 C      IDATI(3)=IDTEMP(1)
0066 C      CALL ITIME(IDTEMP)
0067 C      IDATI(4)=IDTEMP(1)
0068 C      IDATI(5)=IDTEMP(2)
0069 C      IDATI(6)=IDTEMP(3)
0070  
0071 C...Common code to ensure right century.
0072       IDATI(1)=2000+MOD(IDATI(1),100)
0073  
0074       RETURN
0075       END