summaryrefslogtreecommitdiff
path: root/doc/texinfo/strftime.texi
blob: aa86df1a9249bd8b9d657d9e77e0775b7185c46b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
@c This is part of the GNU Mailutils manual.
@c Copyright (C) 2018-2019 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@c *******************************************************************

@cindex time formats, output
  This appendix documents the format specifications for
outputting date/time values.  It is used, in particular, by
the @command{mail} utility (@pxref{headline}).

Essentially, it is a reproduction of the man page for GNU
@code{strftime} function.  Some of the conversion specifiers might not
be available on all systems, due to differences in @samp{strftime}
between systems.  If unsure, please consult
@ref{strftime, strftime,,strftime(3), the strftime(3) man page}.

  Ordinary characters placed in the format string are reproduced without
conversion.  Conversion specifiers are introduced by a @samp{%}
character, and are replaced as follows:

@multitable @columnfractions 0.2 0.7
@item %a @tab The abbreviated weekday name according to the current locale.

@item %A @tab The full weekday name according to the current locale.

@item %b @tab The abbreviated month name according to the current locale.

@item %B @tab The full month name according to the current locale.

@anchor{%c time format}
@item %c @tab The preferred date and time representation for the current locale.

@item %C @tab The century number (year/100) as a 2-digit integer.

@item %d @tab The day of the month as a decimal number (range 01 to 31).

@item %D @tab Equivalent to @samp{%m/%d/%y}. 

@item %e @tab Like @samp{%d}, the day of the month as a decimal
number, but a leading zero is replaced by a space.  

@item %E @tab Modifier: use alternative format, see below
(@pxref{conversion specs}).

@item %F @tab Equivalent to @samp{%Y-%m-%d} (the ISO 8601 date format).

@item %G
@tab The ISO 8601 year with century as a decimal number.
The 4-digit year corresponding to the ISO week number (see @samp{%V}).  This
has the same format and value as @samp{%y}, except that if the ISO week
number belongs to the previous or next year, that year is used instead. 

@item %g @tab Like @samp{%G}, but without century, i.e., with a 2-digit
 year (00-99). 

@item %h @tab Equivalent to @samp{%b}.

@item %H @tab The hour as a decimal number using a 24-hour clock
(range 00 to 23). 

@item %I @tab The hour as a decimal number using a 12-hour clock
(range 01 to 12).

@item %j @tab The day of the year as a decimal number (range 001
to 366).

@item %k @tab The hour (24-hour clock) as a decimal number (range
0 to 23); single digits are preceded by a blank.
(See also @samp{%H}.)

@item %l @tab The hour (12-hour clock) as a decimal number (range
1 to 12); single digits are preceded by a blank. (See also @samp{%I}.) 

@item %m @tab The month as a decimal number (range 01 to 12).

@item %M @tab The minute as a decimal number (range 00 to 59).

@item %n @tab A newline character.

@item %O @tab Modifier: use alternative format, see below
(@pxref{conversion specs}).

@item %p @tab Either @samp{AM} or @samp{PM} according to the given time
value, or the corresponding strings for the current locale.  Noon is
treated as @samp{pm} and midnight as @samp{am}.

@item %P @tab Like @samp{%p} but in lowercase: @samp{am} or @samp{pm}
or a corresponding string for the current locale. 

@item %r @tab The time in @samp{a.m.} or @samp{p.m.} notation.  In the POSIX
locale this is equivalent to @samp{%I:%M:%S %p}. 

@item %R @tab The time in 24-hour notation (@samp{%H:%M}).  For a
version including the seconds, see @samp{%T} below. 

@anchor{%s time format}
@item %s @tab The number of seconds since the Epoch, i.e., since 1970-01-01 00:00:00 UTC. 

@item %S @tab The second as a decimal number (range 00 to 61).

@item %t @tab A tab character. 

@item %T @tab The time in 24-hour notation (@samp{%H:%M:%S}). 

@item %u @tab The day of the week as a decimal, range 1 to 7,
Monday being 1.  See also @samp{%w}. 

@item %U @tab The week number of the current year as a decimal number,
range 00 to 53, starting with the first Sunday as the first day of
week 01.  See also @samp{%V} and @samp{%W}.

@item %V @tab The ISO 8601:1988 week number of the current year
as a decimal number, range 01 to 53, where week 1 is the first week
that has at least 4 days in the current year, and with Monday as the
first day of the week.  See also @samp{%U} and @samp{%W}. 

@item %w @tab The day of the week as a decimal, range 0 to 6, Sunday
being 0.  See also @samp{%u}. 

@item %W @tab The week number of the current year as a decimal number,
range 00 to 53, starting with the first Monday as the first day of week 01.

@item %x @tab The preferred date representation for the current locale
without the time. 

@item %X @tab The preferred time representation for the current locale
without the date. 

@item %y @tab The year as a decimal number without a century (range 00 to 99).

@item %Y @tab The year as a decimal number including the century.

@item %z @tab The time-zone as hour offset from @acronym{GMT}.  Required to
emit RFC822-conformant dates (using @samp{%a, %d %b %Y %H:%M:%S %z})

@item %Z @tab The time zone or name or abbreviation.

@item %+ @tab The date and time in @cite{date(1)} format. 

@item %% @tab A literal @samp{%} character.
@end multitable

@anchor{conversion specs}
Some conversion specifiers can be modified by preceding them by the
@samp{E} or @samp{O} modifier to indicate that an alternative format
should be used.  If the alternative format or specification does not
exist for the current locale, the behaviour will be as if the
unmodified conversion specification were used.  The Single Unix
Specification mentions @samp{%Ec}, @samp{%EC}, @samp{%Ex}, @samp{%EX},
@samp{%Ry}, @samp{%EY}, @samp{%Od}, @samp{%Oe}, @samp{%OH},
@samp{%OI}, @samp{%Om}, @samp{%OM}, @samp{%OS}, @samp{%Ou},
@samp{%OU}, @samp{%OV}, @samp{%Ow}, @samp{%OW}, @samp{%Oy}, where the
effect of the @samp{O} modifier is to use alternative numeric symbols
(say, roman numerals), and that of the @samp{E} modifier is to use a
locale-dependent alternative representation. 

Return to:

Send suggestions and report system problems to the System administrator.