C++ 计算任意两个日期之间的天数
来源:互联网 发布:c语言的main函数是什么 编辑:程序博客网 时间:2024/06/05 20:51
C++写的一个计算两个日期之间天数的小程序:
#include <Windows.h>#include <stdio.h>struct tagDate{ int year;int month;int day;};//设置日期void SetDate(int y, int m, int d, tagDate *date){ date->year = y;date->month = m;date->day = d;} //是否闰年int IsLeapYear(int year) { return ((year%4==0) && (year%100!=0)||year%400==0); } //得到date.month的最大天数int GetLastDay(tagDate date) { int num;switch(date.month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:num=31;break;case 2:num = 28+IsLeapYear(date.year); break; default: num = 30; } return num; }//日期是否合法int IsDateValid(tagDate date){ if(date.year <0 || date.month <1 || date.month> 12) return 0;if(date.day <1 || date.day> GetLastDay(date))return 0;return 1;} //date+1void AddDay(tagDate *date){date->day++;if(date->day > GetLastDay(*date)){date->day = 1;date->month++;if(date->month > 12){date->month = 1;date->year++;}}}//date1比date2小返回值为1,否则为0int Compare(tagDate date1, tagDate date2){if(date1.year < date2.year)return 1;if(date1.year <= date2.year && date1.month < date2.month)return 1;if(date1.year <= date2.year && date1.month <= date2.month && date1.day < date2.day)return 1;return 0;} //计算两个日期的间隔天数long DateDiff(tagDate date1, tagDate date2){long delta = 0;tagDate date3;//若date1 > date2,交换date1,date2if(!Compare(date1, date2)){date3 = date2;date2 = date1;date1 = date3;}//date1比date2少时,date1日期加1while(Compare(date1,date2)){AddDay(&date1);delta++;}return delta;} void main(){tagDate date1, date2;int y, m, d;system("cls");while(1){puts("\nInput date1\t ");scanf("%d,%d,%d", &y, &m, &d);SetDate(y, m, d, &date1);if(!IsDateValid(date1)){ puts( "date1 is invalid !");exit(1);}puts("\nInput date2\t ");scanf("%d,%d,%d", &y, &m, &d);SetDate(y, m, d, &date2);if(!IsDateValid(date2)){puts( "date2 is invalid !");exit(1);}//printf("\nResult : [%ld]", DateDiff(date1,date2));}}
1 0
- Java中计算任意两个日期之间的工作天数
- 计算任意两个日期之间的天数问题
- Java中计算任意两个日期之间的工作天数
- php计算任意两个日期之间的天数
- C++ 计算任意两个日期之间的天数
- 计算任意俩日期之间的天数
- C语言计算两个日期之间的天数
- C/C++完成两个日期之间相隔天数的计算
- 计算天数------java两个日期之间的天数、分钟计算
- Sql计算两个日期之间的天数
- 计算两个日期之间的工作天数
- JS计算两个日期之间的天数
- JAVA计算两个日期之间的天数
- excel计算两个日期之间的天数
- JS计算两个日期之间的天数
- 计算两个日期之间的天数
- 计算两个日期之间的天数
- 计算两个日期之间的天数。
- spark流数据处理
- Eqs(hash初步)
- Asp.net 简单分页
- Java File
- 【播放器】关于 sewisePlayer HLS视频播放器的二次开发(一)
- C++ 计算任意两个日期之间的天数
- ItelliJ IDEA开发工具使用—创建一个web项目
- FFMPEG结构体分析:AVFrame
- jsp获取路径(大全)
- java项目之——坦克大战08
- SpringMVC 文件上传,使用的MultipartFile
- 文章标题
- 怎样写一个构造器
- std::map的使用方法