您的位置:首页 > 编程语言 > C语言/C++

C语言计算日期,前n天,后n天方法

2017-01-05 07:07 253 查看
参数说明:

cDateIn–输入日期,YYYYMMDD

n–前后天数。例:前2天输入-2,后2天输入2

cDateOut–输入日期,YYYYMMDD

int dateChange(char *cDateIn,int n,char *cDateOut)
{
time_t t1;
struct tm tmin;
struct tm *tminp=&tmin;
struct tm tmout;
struct tm *tmoutp=&tmout;

char tmp[8+1];
memset(tmp,0,sizeof(tmp));
strptime(cDateIn,"%Y%m%d",tminp);

/*将tm结构数据转换成1970年1月1日开始计算的秒数*/
t1=mktime(tminp);
/*计算需要增加或者减少天数对应的秒数,结果是最终日期对应1970年1月1日开始计算的秒数*/
t1+=n*60*60*24;
/*将time_t的信息转化真实世界的时间日期表示,结果由结构tm返回*/
tmoutp=localtime(&t1);

/*tm类型的时间转换。将tm按照%Y%m%d格式转化赋值到输出中,最大长度8+1*/
strftime(tmp,8+1,"%Y%m%d",tmoutp);
strcpy(cDateOut,tmp);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言