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.
This commit is contained in:
Ori Bernstein 2020-09-10 16:26:42 -07:00
parent 703b0d3e6d
commit 732082c095
2 changed files with 10 additions and 0 deletions

View file

@ -128,3 +128,6 @@ Daylight Savings Time is ``normal'' in the Southern hemisphere.
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).

View file

@ -275,6 +275,13 @@ Checking the timezone name against the local timezone is a
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.