std::strftime
cppreference.com
<tbody>
</tbody>
std::size_t strftime( char* str, std::size_t count, const char* format, const std::tm* tp ); |
||
| str | ||
| count | ||
| format | , | |
| tp | , |
( %). , , . %, E O (, ), , . :
%
|
%. %%.
|
|
|---|---|---|
n(C++11) |
||
t(C++11) |
||
Y
|
, , 2017 | tm_year
|
EY(C++11) |
, , 23 ( 23) 2011 ( 2011) ja_JP | tm_year
|
y
|
2 ( [00,99])
|
tm_year
|
Oy(C++11) |
2 , , 11 ja_JP | tm_year
|
Ey(C++11) |
%EC ( )
|
tm_year
|
C(C++11) |
2 ( [00,99])
|
tm_year
|
EC(C++11) |
() , , ( ) ja_JP | tm_year
|
G(C++11) |
ISO 8601, , .
ISO 8601 , :
|
tm_year, tm_wday, tm_yday
|
g(C++11) |
2 ISO 8601, .. , ( [00,99]).
ISO 8601 , :
|
tm_year, tm_wday, tm_yday
|
b
|
, Oct ( )
|
tm_mon
|
h(C++11) |
b
|
tm_mon
|
B
|
, , October ( )
|
tm_mon
|
m
|
( [01,12])
|
tm_mon
|
Om(C++11) |
, , , 12 ja_JP | tm_mon
|
U
|
( - ) ( [00,53])
|
tm_year, tm_wday, tm_yday
|
OU(C++11) |
, %U, , , 52 ja_JP
|
tm_year, tm_wday, tm_yday
|
W
|
( - ) ( [00,53])
|
tm_year, tm_wday, tm_yday
|
OW(C++11) |
, %W, , , 52 ja_JP
|
tm_year, tm_wday, tm_yday
|
V(C++11) |
ISO 8601 ( [01,53]).
ISO 8601 , :
|
tm_year, tm_wday, tm_yday
|
OV(C++11) |
, %V, , , 52 ja_JP
|
tm_year, tm_wday, tm_yday
|
| / | ||
j
|
( [001,366])
|
tm_yday
|
d
|
( [01,31])
|
tm_mday
|
Od(C++11) |
, , , 27 ja_JP
. |
tm_mday
|
e(C++11) |
( [1,31]).
. |
tm_mday
|
Oe(C++11) |
, , , 27 ja_JP
. |
tm_mday
|
a
|
, , Fri ( )
|
tm_wday
|
A
|
, , Friday ( )
|
tm_wday
|
w
|
, 0 ( [0-6])
|
tm_wday
|
Ow(C++11) |
, 0, , , 2 ja_JP
|
tm_wday
|
u(C++11) |
, 1 ( ISO 8601) ( [1-7])
|
tm_wday
|
Ou(C++11) |
, 1, , , 2 ja_JP
|
tm_wday
|
| , , | ||
H
|
, 24- ( [00-23])
|
tm_hour
|
OH(C++11) |
24- , , , 18 ja_JP | tm_hour
|
I
|
, 12- ( [01,12])
|
tm_hour
|
OI(C++11) |
12- , , , 06 ja_JP | tm_hour
|
M
|
( [00,59])
|
tm_min
|
OM(C++11) |
, , .. 25 ja_JP | tm_min
|
S
|
( [00,60])
|
tm_sec
|
OS(C++11) |
, , .. 24 ja_JP | tm_sec
|
c
|
, , Sun Oct 17 04:41:13 2010 ( )
|
|
Ec(C++11) |
, , 23 ( 23) 2011 ( 2011) ja_JP | |
x
|
( ) | |
Ex(C++11) |
, , 23 ( 23) 2011 ( 2011) ja_JP | |
X
|
, , 18:40:20 6:40:20 PM ( ) | |
EX(C++11) |
( ) | |
D(C++11) |
"%m/%d/%y" | tm_mon, tm_mday, tm_year
|
F(C++11) |
"%Y-%m-%d" ( ISO 8601) | tm_mon, tm_mday, tm_year
|
r(C++11) |
12- ( ) | tm_hour, tm_min, tm_sec
|
R(C++11) |
"%H:%M" | tm_hour, tm_min
|
T(C++11) |
"%H:%M:%S" ( ISO 8601) | tm_hour, tm_min, tm_sec
|
p
|
a.m. p.m. ( ) | tm_hour
|
z(C++11) |
UTC ISO 8601 (, -0430), ,
|
tm_isdst
|
Z
|
, , | tm_isdst
|
, , str, '\0' . count , , 0, .
#include <ctime>
#include <iostream>
#include <iterator>
#include <locale>
void utcExample()
{
// UTC RFC 3339
std::time_t time = std::time({});
char timeString[std::size("yyyy-mm-ddThh:mm:ssZ")];
std::strftime(std::data(timeString), std::size(timeString), "%FT%TZ",
std::gmtime(&time));
std::cout << timeString << '\n';
}
int main()
{
std::time_t t = std::time(nullptr);
char mbstr[100];
if (std::strftime(mbstr, sizeof(mbstr), "%A %c", std::localtime(&t))) {
std::cout << mbstr << '\n';
}
std::locale::global(std::locale("ja_JP.utf8"));
if (std::strftime(mbstr, sizeof(mbstr), "%A %c", std::localtime(&t))) {
std::cout << mbstr << '\n';
}
utcExample();
}
:
Tuesday Tue Sep 7 19:40:35 2021
20210907 194035
2021-09-07T19:40:35Z
| std::tm () | |
| std::time_t () | |
| std::tm () | |
(C++11) |
/ ( ) |
hh_mm_ss ( ) | |
C strftime
| |