subroutine datjhms (sec,iday,ihour,imin,isec,ier) c* c*********************************************************************** c* c* "Copyright [c] CNES 98 - tous droits reserves" c* ********************************************** c* c*PRO MAGLIB c* c*VER 99.03.31 - V 1.0 c*VER 01.06.05 - V 2.0 c*VER 03.01.06 - V 2.1 c* c*AUT spec. CNES - JC KOSIK - janvier 1991 c*AUT port. CISI c* c*ROL Theme : Calculs de dates c*ROL Calcul des jours, heures, minutes, secondes entieres a c*ROL partir des secondes reelles. c* c*PAR sec (I) : nombre de secondes reelles c* c*PAR iday (O) : jours entiers c*PAR ihour (O) : heures entieres c*PAR imin (O) : minutes entieres c*PAR isec (O) : secondes entieres c* c*PAR ier (O) : code de retour c* c*NOT ier : sans objet c* c*INF utilise : sans objet c* c*HST version 1.0 - 99.03.31 - creation de la maglib au CDPP c*HST version 2.0 - 01.06.05 - correction de commentaires de code c*HST version 2.1 - 03.01.06 - corrections en compilation avec g77 c* c*********************************************************************** c* implicit none c c --------------------------------- c*FON Declaration identificateur rcs_id c --------------------------------- c character rcs_id*100 c c -------------------------- c*FON Declaration des parametres c -------------------------- c double precision sec integer iday, ihour, imin, isec integer ier c c --------------------------------- c*FON Declaration des variables locales c --------------------------------- c double precision rjour,rheur,rmin,rsec c*LOC rjour,rheur,rmin,rsec : variables de travail intermediaires c SAVE c c --------------------------------- c*FON Affectation identificateur rcs_id c --------------------------------- c data rcs_id /" >$Id$"/ c c ****************** c Debut de programme c ****************** c ier = 0 c c -------------- c*FON Calcul du jour c -------------- c sec = sec + 0.000001d0 rjour = sec / 86400.d0 iday = int(rjour) c if (iday .ge. 1) then sec = sec - dble(iday) * 86400.d0 endif c c ----------------- c*FON Calcul de l'heure c ----------------- c rheur = (sec / 3600.0d0) ihour = int(rheur) c c ------------------ c*FON Calcul des minutes c ------------------ c rmin = (sec - dble(ihour) * 3600.0d0) / 60.0d0 imin = int(rmin) c c ------------------- c*FON Calcul des secondes c ------------------- c rsec = (sec - dble(ihour) * 3600.0d0 - dble(imin) * 60.0d0) isec = int(rsec) c c **************** c Fin de programme c **************** c return end