仅使用C ++ 98将std :: string转换为std :: time_t

时间:2017-12-14 15:25:58

标签: c++ string datetime c++98

我的主要问题是将当前时间(const std::time_t now = std::time(NULL);)与给定时间(例如," 2017-12-14" )进行比较,这是std ::字符串对象。所以,我正在使用std::difftime(end, start)函数。但问题是,首先我必须将std::string转换为std::time_t对象。

是否可以使用已知函数将其转换为{em>' yyyy-mm-dd' )到std::time_t对象(仅使用 C + 98 )?

我在这里找到了一个函数strptimehttps://linux.die.net/man/7/feature_test_macros,但这是POSIX函数。我需要多平台代码。

此外,我认为获得' yyyy ' mm ',&#是一个糟糕的解决方案39峰; dd'字符串,将其转换为int并相应地分配给std::tm的{​​{1}},tm_yeartm_mon成员。 (然后将tm_mday转换为std::tm

0 个答案:

没有答案