我想比较两个日期“2010-08-12”和“2010-8-12”,但是使用 strcmp 失败了,所以请建议任何内置的 C 函数或任何 C 函数来比较这些日期。
问候
我建议你试试strptime看看它是否合适。
您可以编写一个简单而直接的函数,将日期转换为足以用于订购目的的数字,方法是使用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
结果;对于较早的日期,返回的值会更小。