C++ 如何使用cpp查找我的本地系统日期格式?

C++ 如何使用cpp查找我的本地系统日期格式?,c++,C++,一些机构共享示例代码,以使用cpp获取我的本地系统日期格式。例如,我需要获取系统日期格式是“dd-mm-yyyy”还是“mm-dd-yyyy”或“yyyy-mm-dd” 我只需要检查系统日期格式。不需要获取日期、月份和年份。请帮助我。假设区域设置正确,您可以使用: 返回类型为std::time\u base::dateorder的值,该值描述此区域设置使用的默认日期格式(由get\u date()预期,由std::strftime()使用格式说明符'%x'生成) std::time\u bas

一些机构共享示例代码,以使用cpp获取我的本地系统日期格式。例如,我需要获取系统日期格式是“dd-mm-yyyy”还是“mm-dd-yyyy”或“yyyy-mm-dd”


我只需要检查系统日期格式。不需要获取日期、月份和年份。请帮助我。

假设区域设置正确,您可以使用:

返回类型为
std::time\u base::dateorder
的值,该值描述此区域设置使用的默认日期格式(由
get\u date()
预期,由
std::strftime()
使用格式说明符
'%x'
生成)

std::time\u base::dateorder d=std::use\u facet(
std::locale()
).date_order();
开关(d)
{

case std::time_base::no_order:std::cout@ichherzcplusplus的可能副本:我需要获取已设置的本地时间格式,无论是'dd-mm-yyyy'还是'mm-dd-yyyyy'或'yyyyy-mm-dd'。在上面的示例中,我可以获取我所需的系统日期和时间格式。但我需要获取系统中已设置的日期和时间的格式可能重复。大多数以“如何…”开头的问题太广泛。你的具体问题是什么?你哪里有问题?到目前为止你试过什么?我试着在Howard Hinnants图书馆中查找,看看他如何处理
%x
(本地化日期表示法)但我认为这对我来说需要太多的挖掘。这可能会有所帮助,即使它没有说实体之间是否应该有
-
/
日期\u顺序()
是可选的;它被明确允许总是返回
无顺序
:-(你的代码在macOS上为我打印“月、日、年”)。
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;
}