Neither strftime nor strptime describe the fields inside struct tm, and while they eventually point that way in references, strftime provides no guidance as to which of its nine (9!) references I should read next. I don't like guessing.
Index: strftime.3 =================================================================== RCS file: /cvs/src/lib/libc/time/strftime.3,v retrieving revision 1.34 diff -u -p -r1.34 strftime.3 --- strftime.3 29 Jan 2015 01:46:31 -0000 1.34 +++ strftime.3 30 Dec 2015 16:46:29 -0000 @@ -47,6 +47,8 @@ The .Fn strftime function formats the information from .Fa timeptr +(as described in +.Xr mktime 3 ) into the buffer .Fa buf according to the string pointed to by Index: strptime.3 =================================================================== RCS file: /cvs/src/lib/libc/time/strptime.3,v retrieving revision 1.24 diff -u -p -r1.24 strptime.3 --- strptime.3 4 Dec 2014 00:10:40 -0000 1.24 +++ strptime.3 30 Dec 2015 16:47:17 -0000 @@ -44,7 +44,9 @@ function parses the string according to the specified .Fa format and fills matching data into the structure -.Fa tm . +.Fa tm +(described in +.Xr mktime 3 ) . .Pp The .Fa format