summaryrefslogtreecommitdiff
path: root/static/inferno/man2/daytime.2
diff options
context:
space:
mode:
Diffstat (limited to 'static/inferno/man2/daytime.2')
-rw-r--r--static/inferno/man2/daytime.2145
1 files changed, 145 insertions, 0 deletions
diff --git a/static/inferno/man2/daytime.2 b/static/inferno/man2/daytime.2
new file mode 100644
index 00000000..04e6cda8
--- /dev/null
+++ b/static/inferno/man2/daytime.2
@@ -0,0 +1,145 @@
+.TH DAYTIME 2
+.SH NAME
+daytime: text, filet, gmt, local, now, string2tm, time, tm2epoch \- time conversions
+.SH SYNOPSIS
+.EX
+include "daytime.m";
+daytime := load Daytime Daytime->PATH;
+
+Tm: adt
+{
+ sec: int; # seconds (0 to 59)
+ min: int; # minutes (0 to 59)
+ hour: int; # hours (0 to 23)
+ mday: int; # day of the month (1 to 31)
+ mon: int; # month (0 to 11)
+ year: int; # year-1900; 2000AD is 100
+ wday: int; # day of week (0 to 6, Sunday is 0)
+ yday: int; # day of year (0 to 365)
+ zone: string; # time zone name
+ tzoff: int; # time zone offset (seconds from GMT)
+};
+
+text: fn(tm: ref Tm): string;
+filet: fn(now, t: int): string;
+gmt: fn(tim: int): ref Tm;
+local: fn(tim: int): ref Tm;
+now: fn(): int;
+time: fn(): string;
+tm2epoch: fn(tm: ref Tm): int;
+string2tm: fn(date: string): ref Tm;
+.EE
+.SH DESCRIPTION
+These routines perform time conversions relative to the
+epoch 00:00:00 GMT, Jan. 1, 1970.
+Note the range of values for each member of the
+.B Tm
+adt.
+The conventions are the same as those of C's
+.IR ctime .
+.PP
+.B Text
+converts a time structure referenced by
+.I tm
+from local or GMT time to a string in the format:
+.IP
+.B "Sat Jan 1 13:00:00 GMT 2000"
+.PP
+.B Filet
+converts the file access or modification time
+.I t
+from seconds since the epoch to local time as a string
+in the format:
+.IP
+.B "Jan 1 13:00"
+.PP
+if the file is less than 6 months old or
+.IP
+.B "Jan 1 2000"
+.PP
+if the file is older than 6 months, compared to the time
+.IR now .
+.PP
+.B Gmt
+converts seconds since the epoch, received in
+.IR tim ,
+to a time structure in Greenwich Mean Time (GMT).
+.PP
+.B Local
+converts seconds since the epoch, received in
+.IR tim ,
+to a time structure in local time.
+.PP
+.B Now
+returns the time in seconds since the epoch, obtained by reading
+.B /dev/time
+(see
+.IR cons (3)).
+.PP
+.B Time
+converts seconds since the epoch
+to the local time as a string in the format
+.BR "Fri May 19 17:01:36 BST 2000" .
+.PP
+.B Tm2epoch
+converts a time structure referenced by
+.I tm
+from local or GMT time to seconds since the epoch.
+.PP
+.B String2tm
+returns a reference to a
+.B Tm
+value corresponding to the date and time in textual form in string
+.IR s ,
+which must have one of the forms below:
+.IP
+.EX
+Sun, 06 Nov 1994 08:49:37 GMT \fR(RFC822, RFC1123)\fP
+Sunday, 06-Nov-94 08:49:37 GMT \fR(RFC850)\fP
+Sun Nov 6 08:49:37 GMT 1994 \fR(output of \fPtext\fR, above)\fP
+.EE
+.PP
+A missing time zone in any format is assumed to be
+.BR GMT .
+.B String2tm
+returns nil if
+.I s
+is not correctly formed.
+.PP
+When local time is first requested,
+.B daytime
+reads a table for time zone conversion from the
+.B timezone
+environment variable, if that is set,
+and otherwise from the file
+.BR /locale/timezone ,
+which is copied from one of the other files in
+.B /locale
+when the system is installed.
+The timezone table is a text file containing lines of space-separated fields.
+The first line gives the normal time zone name and its difference from GMT
+in seconds followed by an alternative time zone name (eg, for `daylight savings' or `summer' time) and
+its difference from GMT followed by a newline.
+The remainder is a list of pairs of times
+(seconds past the start of 1970, in the first time zone)
+when the alternative time zone applies.
+For example:
+.IP
+.EX
+EST -18000 EDT -14400
+ 9943200 25664400 41392800 57718800 ...
+.EE
+.PP
+Greenwich Mean Time is represented by
+.IP
+.EX
+GMT 0
+.EE
+.SH SOURCE
+.B /appl/lib/daytime.b
+.SH SEE ALSO
+.IR cons (3),
+.IR sys-millisec (2)
+.SH BUGS
+The sign bit of a Limbo integer holding a time will turn on 68 years from the
+epoch.