c++ 如何解析日期字符串?[duplicate]

omvjsjqw  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(125)
    • 此问题在此处已有答案**:

How to parse date/time from string?(4个答案)
How to parse a date string into a c++11 std::chrono time_point or similar?(4个答案)
2天前关闭。
我有一个字符串是日期。是否有一个函数从标准库,可以解析它在任何数字格式(如时间戳或朱利安日)
例如

std::string str("01/01/2017");//Local format date
 UINT64 timestamp = function(str);

我不想在函数中传递格式化日期。我只想知道一个字符串是以本地格式表示的。

ac1kyiln

ac1kyiln1#

如果你想使用本地日期格式,你可以尝试std::get_time(从C11开始可用)或POSIX C函数strptime,格式为"x"
| x|解析区域设置的标准日期表示形式|全部|- -www.示例网站cppreference.com
两者都返回日历时间struct tm,如果需要,可以使用localtimegmtime将其转换为时间戳。
请注意,您必须先设置应用程序的C和 C
环境,以便能够使用您的操作系统区域设置,而不是经典的C语言环境。请参阅localestd::locale。最好同时设置这两个语言环境,以便它们同步,不会出现不好的意外。

setlocale(LC_ALL, "");
std::locale::global(std::locale(setlocale(LC_ALL, NULL)));

相关问题