# DATELIB ܿȤ

DATELIB  DATEQ3 , FORTRAN77 εʤˤϤʤդ뤿
Υ롼ޤǤ. , ϤդĤϤƱ褦ư
롼ѰդƤΤ, ƥԤŬڤʥ󥿡ե
롼Ѱդ뤳. ʲ, SunFORTRAN 1.4, Lahey Fortran, UXP
FORTRAN77 EX  C ǵҤ򼨤.

DATELIB ܿƤ뤫ɤΤˤ, 
demo/misc1/datelib ˤ date04.f 򥳥ѥ, ¹Ԥ, դ
֤Ƥ뤫ɤ򸫤ƤФ褤. 

*-----------------------------------------------------------------------
*     DATEQ3 (for SunFORTRAN 1.4)
*-----------------------------------------------------------------------
      SUBROUTINE DATEQ3(IY, IM, ID)

      INTEGER IDA(3)

*     IY    : YEAR                                              ( /O)
*     IM    : MONTH                                             ( /O)
*     ID    : DAY                                               ( /O)


      CALL IDATE(IDA)
      IY = IDA(3)
      IM = IDA(2)
      ID = IDA(1)

      END
*-----------------------------------------------------------------------
*     DATEQ3 (for Lahey Fortran)
*-----------------------------------------------------------------------
      SUBROUTINE DATEQ3(IY, IM, ID)

      CHARACTER*8 CDATE

*     IY    : YEAR                                              ( /O)
*     IM    : MONTH                                             ( /O)
*     ID    : DAY                                               ( /O)


      CALL DATE(CDATE)
      READ(CDATE,'(I2,TR1,I2,TR1,I2)') IM,ID,IY
      IF (IY.GT.90) THEN
        IY = IY+1900
      ELSE
        IY = IY+2000
      END IF

      END
*-----------------------------------------------------------------------
*     DATEQ3 (for UXP FORTRAN77 EX)
*-----------------------------------------------------------------------
      SUBROUTINE DATEQ3(IY, IM, ID)

      CHARACTER CD*8

*     IY    : YEAR                                              ( /O)
*     IM    : MONTH                                             ( /O)
*     ID    : DAY                                               ( /O)


      CALL DATE(CD)
      READ(CD(1:2),'(I2)') IY
      READ(CD(4:5),'(I2)') IM
      READ(CD(7:8),'(I2)') ID

      END

/*
 *    dateq3 (written in C)
 */

#include <time.h>

void dateq3_(iy, im, id)
    int *iy, *im, *id;
{
    long tp;
    struct tm lt;

    time(&tp);
    lt = *localtime(&tp);
    *iy = lt.tm_year + 1900;
    *im = lt.tm_mon + 1;
    *id = lt.tm_mday;
} 
