C语言 文件中时间与当前系统时间 时间差比较(比较结果返回为天数)最好是调用子函数解决
发布网友
发布时间:2022-05-20 19:48
我来回答
共1个回答
热心网友
时间:2023-11-18 22:10
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int days(char* begin_time) //格式: "20180914000000" //2018-9-14 0点0分0秒
{
struct tm tm1;
time_t time1,time_now;
sscanf(begin_time,"%4d%2d%2d%2d%2d%2d",&tm1.tm_year,&tm1.tm_mon,&tm1.tm_mday,&tm1.tm_hour,&tm1.tm_min,&tm1.tm_sec);
tm1.tm_year-=1900;
tm1.tm_mon--;
tm1.tm_isdst=-1;
time1=mktime(&tm1); //构造time1
time_now=time(NULL);
tm1=*(localtime(&time_now)); //当时日期
return (time_now-time1)/(3600*24); //返回相差天数
}
int main()
{
char time_in_file[30]={"20180914000000\0"};
printf("\n%d",days(time_in_file));
return 0;
}