## table of contents

other sections

datetime(3) | Library Functions Manual | datetime(3) |

# NAME¶

datetime - convert between TAI labels and seconds# SYNTAX¶

**#include <datetime.h>**

**datetime_tai**(&

*dt*,

*t*);

**datetime_untai**(&

*dt*);

*dt*;

*t*;

# DESCRIPTION¶

International Atomic Time, TAI, is the fundamental unit for time measurements. TAI has one label for every second of real time, without complications such as leap seconds.*dt*, stores a TAI label.

*dt*

**.year****is the year number minus 1900;**

*dt*

**.mon****is the month number, from 0 (January) through 11 (December);**

*dt*

**.mday****is the day of the month, from 1 through 31;**

*dt*

**.hour****is the hour, from 0 through 23;**

*dt*

**.min****is the minute, from 0 through 59;**

*dt*

**.sec****is the second, from 0 through 59;**

*dt*

**.wday****is the day of the week, from 0 (Sunday) through 6 (Saturday);**

*dt*

**.yday****is the day of the year, from 0 through 365.**

**datetime**library supports more convenient TAI manipulation with the datetime_sec type. A datetime_sec value, such as

*t*, is an integer referring to the

*t*th second after the beginning of 1970 TAI. The first second of 1970 TAI was 0; the next second was 1; the last second of 1969 TAI was -1. The difference between two datetime_sec values is a number of real-time seconds.

**datetime_tai**converts a datetime_sec to a TAI label.

**datetime_untai**reads a TAI label (specifically

*dt*

**.year****,**

*dt*

**.mon****,**

*dt*

**.mday****,**

*dt*

**.hour****,**

*dt*

**.min****,**

**and**

*dt*

**.sec****)**

**and returns a datetime_sec.**