Chapter 5. Time string utility function
Utility function to turn seconds since the epoch (as returned by the timestamp function gettimeofday_s()) into a human readable date/time string.
Name
function::ctime — Convert seconds since epoch into human readable date/time string.
Synopsis
function ctime:string(epochsecs:long)
Arguments
epochsecs
-
Number of seconds since epoch (as returned by gettimeofday_s
).
General Syntax
ctime:string(epochsecs:long)
Description
Takes an argument of seconds since the epoch as returned by gettimeofday_s
. Returns a string of the form
“Wed Jun 30 21:49:08 1993”
The string will always be exactly 24 characters. If the time would be unreasonable far in the past (before what can be represented with a 32 bit offset in seconds from the epoch) the returned string will be “a long, long time ago...”. If the time would be unreasonable far in the future the returned string will be “far far in the future...” (both these strings are also 24 characters wide).
Note that the epoch (zero) corresponds to
“Thu Jan 1 00:00:00 1970”
The earliest full date given by ctime, corresponding to epochsecs -2147483648 is “Fri Dec 13 20:45:52 1901”. The latest full date given by ctime, corresponding to epochsecs 2147483647 is “Tue Jan 19 03:14:07 2038”.
The abbreviations for the days of the week are ‘Sun’, ‘Mon’, ‘Tue’, ‘Wed’, ‘Thu’, ‘Fri’, and ‘Sat’. The abbreviations for the months are ‘Jan’, ‘Feb’, ‘Mar’, ‘Apr’, ‘May’, ‘Jun’, ‘Jul’, ‘Aug’, ‘Sep’, ‘Oct’, ‘Nov’, and ‘Dec’.
Note that the real C library ctime
function puts a newline ('\n') character at the end of the string that this function does not. Also note that since the kernel has no concept of timezones, the returned time is always in GMT.