The format string consists of zero or more conversion specifiers, whitespace characters, and ordinary characters (except %
). Each ordinary character is expected to match one character in the input stream in case-insensitive comparison. Each whitespace character matches arbitrary whitespace in the input string. Each conversion specification begins with %
character, optionally followed by E
or O
modifier (ignored if unsupported by the locale), followed by the character that determines the behavior of the specifier. The format specifiers match the POSIX function strptime():
Conversion specifier
|
Explanation
|
Writes to fields
|
%
|
matches a literal % . The full conversion specification must be %% .
|
(none)
|
t
|
matches any whitespace.
|
(none)
|
n
|
matches any whitespace.
|
(none)
|
Year
|
Y
|
parses full year as a 4 digit decimal number, leading zeroes permitted but not required
|
tm_year
|
EY
|
parses year in the alternative representation, e.g.23 (year Heisei 23) which writes 2011 to tm_year in ja_JP locale
|
tm_year
|
y
|
parses last 2 digits of year as a decimal number. Range [69,99] results in values 1969 to 1999, range [00,68] results in 2000-2068
|
tm_year
|
Oy
|
parses last 2 digits of year using the alternative numeric system, e.g. is parsed as 11 in ja_JP locale
|
tm_year
|
Ey
|
parses year as offset from locale's alternative calendar period %EC
|
tm_year
|
C
|
parses the first 2 digits of year as a decimal number (range [00,99] )
|
tm_year
|
EC
|
parses the name of the base year (period) in the locale's alternative representation, e.g. (Heisei era) in ja_JP
|
tm_year
|
Month
|
b
|
parses the month name, either full or abbreviated, e.g. Oct
|
tm_mon
|
h
|
synonym of b
|
tm_mon
|
B
|
synonym of b
|
tm_mon
|
m
|
parses the month as a decimal number (range [01,12] ), leading zeroes permitted but not required
|
tm_mon
|
Om
|
parses the month using the alternative numeric system, e.g. parses as 12 in ja_JP locale
|
tm_mon
|
Week
|
U
|
parses the week of the year as a decimal number (Sunday is the first day of the week) (range [00,53] ), leading zeroes permitted but not required
|
tm_year , tm_wday , tm_yday
|
OU
|
parses the week of the year, as by %U , using the alternative numeric system, e.g. parses as 52 in ja_JP locale
|
tm_year , tm_wday , tm_yday
|
W
|
parses the week of the year as a decimal number (Monday is the first day of the week) (range [00,53] ), leading zeroes permitted but not required
|
tm_year , tm_wday , tm_yday
|
OW
|
parses the week of the year, as by %W , using the alternative numeric system, e.g. parses as 52 in ja_JP locale
|
tm_year , tm_wday , tm_yday
|
Day of the year/month
|
j
|
parses day of the year as a decimal number (range [001,366] ), leading zeroes permitted but not required
|
tm_yday
|
d
|
parses the day of the month as a decimal number (range [01,31] ), leading zeroes permitted but not required
|
tm_mday
|
Od
|
parses the day of the month using the alternative numeric system, e.g parses as 27 in ja_JP locale, leading zeroes permitted but not required
|
tm_mday
|
e
|
synonym of d
|
tm_mday
|
Oe
|
synonym of Od
|
tm_mday
|
Day of the week
|
a
|
parses the name of the day of the week, either full or abbreviated, e.g. Fri
|
tm_wday
|
A
|
synonym of a
|
tm_wday
|
w
|
parses weekday as a decimal number, where Sunday is 0 (range [0-6] )
|
tm_wday
|
Ow
|
parses weekday as a decimal number, where Sunday is 0 , using the alternative numeric system, e.g. parses as 2 in ja_JP locale
|
tm_wday
|
Hour, minute, second
|
H
|
parses the hour as a decimal number, 24 hour clock (range [00-23] ), leading zeroes permitted but not required
|
tm_hour
|
OH
|
parses hour from 24-hour clock using the alternative numeric system, e.g. parses as 18 in ja_JP locale
|
tm_hour
|
I
|
parses hour as a decimal number, 12 hour clock (range [01,12] ), leading zeroes permitted but not required
|
tm_hour
|
OI
|
parses hour from 12-hour clock using the alternative numeric system, e.g. reads as 06 in ja_JP locale
|
tm_hour
|
M
|
parses minute as a decimal number (range [00,59] ), leading zeroes permitted but not required
|
tm_min
|
OM
|
parses minute using the alternative numeric system, e.g. parses as 25 in ja_JP locale
|
tm_min
|
S
|
parses second as a decimal number (range [00,60] ), leading zeroes permitted but not required
|
tm_sec
|
OS
|
parses second using the alternative numeric system, e.g. parses as 24 in ja_JP locale
|
tm_sec
|
Other
|
c
|
parses the locale's standard date and time string format, e.g. Sun Oct 17 04:41:13 2010 (locale dependent)
|
all
|
Ec
|
parses the locale's alternative date and time string format, e.g. expecting 23 (year Heisei 23) instead of 2011 (year 2011) in ja_JP locale
|
all
|
x
|
parses the locale's standard date representation
|
all
|
Ex
|
parses the locale's alternative date representation, e.g. expecting 23 (year Heisei 23) instead of 2011 (year 2011) in ja_JP locale
|
all
|
X
|
parses the locale's standard time representation
|
all
|
EX
|
parses the locale's alternative time representation
|
all
|
D
|
equivalent to "%m /%d /%y "
|
tm_mon , tm_mday , tm_year
|
r
|
parses locale's standard 12-hour clock time (in POSIX, "%I:%M:%S%p")
|
tm_hour , tm_min , tm_sec
|
R
|
equivalent to "%H:%M"
|
tm_hour , tm_min
|
T
|
equivalent to "%H:%M:%S"
|
tm_hour , tm_min , tm_sec
|
p
|
parses the locale's equivalent of a.m. or p.m.
|
tm_hour
|