比较C中不同格式的两个日期

时间:2012-11-27 03:13:58

标签: c

我想比较两个日期“2010-08-12”和“2010-8-12”但是使用strcmp它失败了所以请建议任何内置的C函数或任何C函数来比较这些日期。

此致

2 个答案:

答案 0 :(得分:0)

我建议您尝试strptime并查看它是否合适。

答案 1 :(得分:0)

您可以编写一个简单直接的函数,使用strtol将日期转换为足以排序的数字:

int seq_day(char *date) {
    int y = strtol(date, &date, 10);
    int m = strtol(++date, &date, 10);
    int d = strtol(++date, &date, 10);
    return (y*12+m)*31+d;
}

在两个日期调用上述函数,并比较int个结果;对于较早的日期,返回的值会更小。