path: root/datetime.3
diff options
authorJohn Denker <>2012-06-02 01:58:45 (GMT)
committerJohn Denker <>2012-06-02 01:58:45 (GMT)
commitb732a73bc773789894466b0e5320b2f1fe42c7e9 (patch)
tree385358983f064a1f10a5080b33a3ba13010886db /datetime.3
parent634d365a03cb0581a062cd3cf4db9ae69f1cde26 (diff)
original, as downloaded from
Diffstat (limited to 'datetime.3')
1 files changed, 73 insertions, 0 deletions
diff --git a/datetime.3 b/datetime.3
new file mode 100644
index 0000000..33a623f
--- /dev/null
+++ b/datetime.3
@@ -0,0 +1,73 @@
+.TH datetime 3
+datetime \- convert between TAI labels and seconds
+.B #include <datetime.h>
+void \fBdatetime_tai\fP(&\fIdt\fR,\fIt\fR);
+datetime_sec \fBdatetime_untai\fP(&\fIdt\fR);
+struct datetime \fIdt\fR;
+datetime_sec \fIt\fR;
+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.
+struct datetime
+such as
+.IR dt ,
+stores a TAI label.
+.I dt\fB.year
+is the year number minus 1900;
+.I dt\fB.mon
+is the month number, from 0 (January) through 11 (December);
+.I dt\fB.mday
+is the day of the month, from 1 through 31;
+.I dt\fB.hour
+is the hour, from 0 through 23;
+.I dt\fB.min
+is the minute, from 0 through 59;
+.I dt\fB.sec
+is the second, from 0 through 59;
+.I dt\fB.wday
+is the day of the week, from 0 (Sunday) through 6 (Saturday);
+.I dt\fB.yday
+is the day of the year, from 0 through 365.
+.B datetime
+library supports more convenient TAI manipulation with
+the datetime_sec type.
+A datetime_sec value, such as
+.IR t ,
+is an integer referring to the
+.IR 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.
+.B datetime_tai
+converts a datetime_sec to a TAI label.
+.B datetime_untai
+reads a TAI label
+.IR dt\fB.year ,
+.IR dt\fB.mon ,
+.IR dt\fB.mday ,
+.IR dt\fB.hour ,
+.IR dt\fB.min ,
+.IR dt\fB.sec )
+and returns a datetime_sec.