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

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

问候

您可以编写一个简单而直接的函数,通过使用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结果; 较早的日期返回的值会更小。

我建议你尝试strptime ,看看它是否适合。