获取自然日之差

来源:互联网 发布:mac 桌面显示便签 编辑:程序博客网 时间:2024/04/29 04:44
/*获取自然日之差mktime()用来将tm转换成从公元1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数*/#include<stdio.h>#include<time.h>#include<stdlib.h>int main(){char cdateX[9]= "20150406";char cdateY[9]= "20150404";long int ldays   = 0;int idateX = atoi(cdateX);int iyearX = idateX/10000;int imonX  = idateX/100 - iyearX*100;int idayX  = idateX - idateX/100*100;int idateY = atoi(cdateY);int iyearY = idateY/10000;int imonY  = idateY/100 - iyearY*100;int idayY  = idateY - idateY/100*100;struct tm tx;//struct tm是在标准库中就定义好的结构体struct tm ty;time_t daysx;  time_t daysy;tx.tm_year=iyearX - 1900;//年 以1900年为基线tx.tm_mon=imonX;//月tx.tm_mday=idayX;//日tx.tm_hour=0;//时tx.tm_min=0;//分tx.tm_sec=0;//秒tx.tm_isdst=0;//夏令时daysx = mktime(&tx);ty.tm_year=iyearY - 1900;//年 以1900年为基线ty.tm_mon=imonY;//月ty.tm_mday=idayY;//日ty.tm_hour=0;//时ty.tm_min=0;//分ty.tm_sec=0;//秒ty.tm_isdst=0;//夏令时daysy = mktime(&ty);ldays  = (daysx - daysy)/(60*60*24);printf("%d %d %d \n",iyearY,imonY,idayY);printf("%d %d %d \n",iyearX,imonX,idayX);printf("%s 与 %s 相差%ld 天 \n",cdateX,cdateY,ldays);getchar();return 0;}

0 0
原创粉丝点击