我的主要问题是将当前时间(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 )?
我在这里找到了一个函数strptime
:https://linux.die.net/man/7/feature_test_macros,但这是POSIX函数。我需要多平台代码。
此外,我认为获得' yyyy ' mm ',&#是一个糟糕的解决方案39峰; dd'字符串,将其转换为int
并相应地分配给std::tm
的{{1}},tm_year
,tm_mon
成员。 (然后将tm_mday
转换为std::tm
)