# SEC2TIME() and sec2timec()

## Fortran version:

INTEGER FUNCTION SEC2TIME( SECS )
INTEGER, INTENT(IN ) :: SECS

C version:

int sec2timec( int secs )

## Summary:

Returns the
Models-3-convention time -- integer coded as
H*MMSS = 10000 * hours + 100 * minutes + seconds )

corresponding to the number of seconds `SECS`

. Note that
according to Models-3 conventions, all three of "hours",
"minutes", and "seconds" have the same sign --
either all positive (or zero), if SECS >= 0), or all negative
(or zero) when SECS < 0.

*Note that *`H*MMSS`

-encoding **suffers
**`INTEGER`

-overflow for time periods exceeding
approximately 24.5 years.
For Fortran-90 declarations and interface checking:

USE M3UTILIO

See also TIME2SEC()
and SECSDIFF()

## Preconditions:

`#include "iodecl3.h"`

for C.

## Fortran Usage:

...
USE M3UTILIO !! or: INTEGER, EXTERNAL :: SEC2TIME
...
INTEGER TIME
...
TIME = SEC2TIME( 12345 )
!! Now TIME is the Models-3 time for 12,345 seconds
!! (32545, i.e., 3 hours, 25 minutes, and 45 seconds)
...
TIME = SEC2TIME( -123456 )
!! Now TIME is -341736 since (+)123,456 seconds is
!! 34 hours, 17 minutes, and 36 seconds
...

## C Usage:

...
#include "iodecl3.h"
...
int time ;
...
time = sec2timec( -123456 ) ;
/* Now time == -341736 since (+)123,456 seconds
is 34 hours, 17 minutes, and 36 seconds */
...

Previous: **NEXTIME**
Next: **SECSDIFF**

Up: **Date-Time Manipulation Routines**

To: **Models-3/EDSS I/O API: The Help Pages**