本文介绍了比较两个日期在C不同的格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to compare two dates "2010-08-12" and "2010-8-12" but using strcmp it is failing so please suggest any inbuilt C function or any C function to compare these dates.

问候

推荐答案

您可以编写一个简单而直接的函数将日期转换为数字,它是通过使用的:

You can write a simple and straightforward function to convert a date to a number that is good enough for ordering purposes by using 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 的结果;返回值将是较早的日期较小。

Call the above function on both dates, and compare the int results; the returned value will be smaller for the earlier date.

这篇关于比较两个日期在C不同的格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 03:41