这个可以用C标准函数实现
#include
#include
time_t gettime(int y, int m, int d) //转换格式
{
struct tm tm_;
time_t t;
tm_.tm_year = y - 1900; //年
tm_.tm_mon = m - 1; //月
tm_.tm_mday = d; //日
tm_.tm_hour = 0; //时
tm_.tm_min = 0; //分
tm_.tm_sec = 0; //秒
tm_.tm_isdst = 0; //夏令时
t = mktime(&tm_); //生成时间
return t;
}
int main()
{
const struct tm *tm;
time_t t, t1, dif;
char str[20];
int y, m, d;
printf("请输入年月日(用-号分隔):\n");
scanf("%d-%d-%d", &y, &m, &d);
t = gettime(y,m,d);
t1=gettime(2019,2,5); //2018春节
dif = difftime(t1, t); //与输入时间差,秒数
printf("输入日期与2018春节相差%d天\n", dif / (3600 * 24));
return 0;
}