ref: 732082c0951ca080de05608a0b6464ca699da61d
parent: 703b0d3e6d8d68eb5ca36866386a3d9c47ec2a15
author: Ori Bernstein <ori@eigenstate.org>
date: Thu Sep 10 12:26:42 EDT 2020
ctime(2), tmdate(2): document ctime/tmparse incompatibility Tmparse and ctime don't mix. The timezone name may be too long for the number of characters ctime mandates. Document this footgun.
--- a/sys/man/2/ctime
+++ b/sys/man/2/ctime
@@ -128,3 +128,6 @@
These routines are not equipped to handle non-\c
.SM ASCII
text, and are provincial anyway.
+.br
+These routines may garble the date when passed a date parsed with
+.IR tmparse (2).
--- a/sys/man/2/tmdate
+++ b/sys/man/2/tmdate
@@ -275,6 +275,13 @@
dirty hack. The same date string may parse differently for
people in different timezones.
.PP
+Tmparse and ctime don't mix.
+Tmparse preserves timezone names, including names like '+0200'.
+Ctime expects timezone names to be exactly three characters.
+Use the
+.I %τ
+format character instead of ctime.
+.PP
The timezone information that we ship is out of date.
.PP
The Plan 9 timezone format has no way to express leap seconds.