std::time_get<CharT,InputIt>::date_order, std::time_get<CharT,InputIt>::do_date_order
来自 cppreference.com
定义在头文件 <locale> 中 |
||
public: dateorder date_order() const; |
(1) | |
protected: virtual dateorder do_date_order() const; |
(2) | |
1) 公共成员函数,调用最派生类的受保护虚拟成员函数
do_date_order
。2) 返回类型为 std::time_base::dateorder 的值,该值描述了此区域设置使用的默认日期格式(由 get_date() 预期,并由 std::strftime() 使用格式说明符 '%x' 生成)。
有效值(从 std::time_base 继承)是
no_order
|
格式包含可变项目(星期几、儒略日等),或者此函数未实现 |
dmy
|
日、月、年(欧洲区域设置) |
mdy
|
月、日、年(美国区域设置) |
ymd
|
年、月、日(亚洲区域设置) |
ydm
|
年、日、月(罕见) |
内容 |
[编辑] 参数
(无)
[编辑] 返回值
dateorder
类型的返回值。
[编辑] 注释
此函数是可选的,它可能在所有情况下都返回 no_order
。
[编辑] 示例
以下输出是在使用 clang (libc++) 时获得的。
运行此代码
#include <iostream> #include <locale> void show_date_order() { std::time_base::dateorder d = std::use_facet<std::time_get<char>>( std::locale() ).date_order(); switch (d) { case std::time_base::no_order: std::cout << "no_order\n"; break; case std::time_base::dmy: std::cout << "day, month, year\n"; break; case std::time_base::mdy: std::cout << "month, day, year\n"; break; case std::time_base::ymd: std::cout << "year, month, day\n"; break; case std::time_base::ydm: std::cout << "year, day, month\n"; break; } } int main() { std::locale::global(std::locale("en_US.utf8")); std::cout << "In U.S. locale, the default date order is: "; show_date_order(); std::locale::global(std::locale("ja_JP.utf8")); std::cout << "In Japanese locale, the default date order is: "; show_date_order(); std::locale::global(std::locale("de_DE.utf8")); std::cout << "In German locale, the default date order is: "; show_date_order(); }
可能的输出
In U.S. locale, the default date order is: month, day, year In Japanese locale, the default date order is: year, month, day In German locale, the default date order is: day, month, year
[编辑] 另请参阅
[虚拟] |
从输入流中提取月份、日期和年份 (虚拟受保护成员函数) |
定义日期格式常量 (类) |