C中的日期时间比较

时间:2014-02-13 07:36:43

标签: c datetime

我想在C中比较日期时间。我用谷歌搜索但我没有得到任何适当的解决方案。我有字符串格式的日期时间,即date1 =“2014-02-13 12:22:21”和date2 =“2014-02-10 12:22:21”。 现在,我想比较b / w date1和date2。 请建议我正确的解决方案。

2 个答案:

答案 0 :(得分:4)

只需使用strcmp即可。它有效,因为使用这种特定的日期/时间格式,字典顺序与时间顺序相同。

答案 1 :(得分:0)

如果您未在关键路径上运行此操作,请使用strncmp()。否则,如果速度很重要,请使用strptime() + mktime()将其解析为UTC uint64_t微秒/毫秒以来的时间并进行比较。我还要确保在整个代码库中始终考虑时区。

澄清评论中提出的观点 - 是否更喜欢字符串比较与时间戳比较(支付解析开销)完全由使用模式决定,并且可以在简单的综合测试中进行基准测试。