|
NAMEtime2posix , posix2time —
convert seconds since the Epoch
LIBRARYStandard C Library (libc, -lc)SYNOPSIS#include <time.h>
time_t
time_t
DESCRIPTIONIEEE Std 1003.1-1988 (“POSIX.1”) legislates that a time_t value of 536457599 shall correspond to "Wed Dec 31 23:59:59 GMT 1986." This effectively implies that POSIX time_t's cannot include leap seconds and, therefore, that the system time must be adjusted as each leap occurs.If the time package is configured with leap-second support enabled, however, no such adjustment is needed and time_t values continue to increase over leap events (as a true `seconds since...' value). This means that these values will differ from those required by POSIX by the net number of leap seconds inserted since the Epoch. Typically this is not a problem as the type time_t is intended to be (mostly) opaque—time_t values should only be obtained-from and passed-to functions such as time(3), localtime(3), mktime(3) and difftime(3). However, IEEE Std 1003.1-1988 (“POSIX.1”) gives an arithmetic expression for directly computing a time_t value from a given date/time, and the same relationship is assumed by some (usually older) applications. Any programs creating/dissecting time_t's using such a relationship will typically not handle intervals over leap seconds correctly. The The The following table summarizes the relationship between time_t and its conversion to, and back from, the POSIX representation over the leap second inserted at the end of June, 1993.
A leap second deletion would look like...
[Note: posix2time(B+1) => A+0 or
A+1]
If leap-second support is not enabled, local time_t's and POSIX
time_t's are equivalent, and both SEE ALSOdifftime(3), localtime(3), mktime(3), time(3)
Visit the GSP FreeBSD Man Page Interface. |