34 lines
1.4 KiB
Plaintext
34 lines
1.4 KiB
Plaintext
|
libtai is a library for storing and manipulating dates and times.
|
||
|
|
||
|
libtai supports two time scales: (1) TAI64, covering a few hundred
|
||
|
billion years with 1-second precision; (2) TAI64NA, covering the
|
||
|
same period with 1-attosecond precision. Both scales are defined
|
||
|
in terms of TAI, the current international real time standard.
|
||
|
|
||
|
libtai provides an internal format for TAI64, struct tai, designed
|
||
|
for fast time manipulations. The tai_pack() and tai_unpack() routines
|
||
|
convert between struct tai and a portable 8-byte TAI64 storage
|
||
|
format. libtai provides similar internal and external formats for
|
||
|
TAI64NA.
|
||
|
|
||
|
libtai provides struct caldate to store dates in year-month-day
|
||
|
form. It can convert struct caldate, under the Gregorian calendar,
|
||
|
to a modified Julian day number for easy date arithmetic.
|
||
|
|
||
|
libtai provides struct caltime to store calendar dates and times
|
||
|
along with UTC offsets. It can convert from struct tai to struct
|
||
|
caltime in UTC, accounting for leap seconds, for accurate date and
|
||
|
time display. It can also convert back from struct caltime to struct
|
||
|
tai for user input. Its overall UTC-to-TAI conversion speed is 100x
|
||
|
better than the usual UNIX mktime() implementation.
|
||
|
|
||
|
The libtai source code is in the public domain.
|
||
|
|
||
|
WWW: ${HOMEPAGE}
|
||
|
|
||
|
Online library documentation (in addition to the manual pages):
|
||
|
http://cr.yp.to/libtai/caldate.html
|
||
|
http://cr.yp.to/libtai/caltime.html
|
||
|
http://cr.yp.to/libtai/tai.html
|
||
|
http://cr.yp.to/libtai/taia.html
|