如何在c ++中将字符串转换为日期?

时间:2012-01-02 09:16:23

标签: c++ datetime date

如何使用标准库将字符串转换为c ++中的日期和时间对象?

这是我的字符串

string input_time = "071215"; //071215 represents 7th December 2015

input_time需要转换为日期对象,以便我可以将它与日期对象进行比较。

bool dateExpired = (input_time < now);
//where now is current date time

if(dateExpired) printf("Expired");
else printf("Not expired");

3 个答案:

答案 0 :(得分:4)

您可以使用c函数strptime。如果你想要一个c ++方式,你可以查看boost library

答案 1 :(得分:1)

对于有日期和时间的认真工作,我建议Boost.DateTime及其IO facilities

答案 2 :(得分:0)

如果您知道确切的格式,只需将字段作为子字符串提取并通过istringstream运行它们以将字符串更改为数字。

#include <strstream>

// . . .

string dayString = input_time.substring(0, 2);
istringstream iss(dayString);
int day;
iss >> day;

// . . .