最近无聊,写了一个日期比较的C程序,发上来供大家拍砖!
#include <stdio.h>
bool isRun(int year);
int year(int year1,int year2);
int month(struct day day1,struct day day2);
int day(int day1,int day2);
struct day{
int year;
int month;
int day;
};
int main(){
int def;
struct day day1={2009,3,9},day2={1986,8,26};
if(day1.year<day2.year){
printf("输入有误,请将大数放在前面!");
}else if((day1.year==day2.year)&&(day1.month<day2.month)){
printf("输入有误,请将大数放在前面!");
}else if((day1.year==day2.year)&&(day1.month==day2.month)&&(day1.day<day2.day)){
printf("输入有误,请将大数放在前面!");
}else{
def=year(day1.year,day2.year)+month(day1,day2)+day(day1.day,day2.day);
printf("两个时间的差值为:%d",def);
}
}
//bool isRun(int year);
//返回年差数
int year(int year1,int year2){
int def = year1-year2;
int i;
int result=0;//年值
for(i=0;i<def;i++){
if(isRun(year1+i)){
//为闰年
result=result+366;
}else{
//为平年
result=result+365;
}
}
return result;
}
int monthToJanaray(int year,int month);
//返回月差数
int month(struct day day1,struct day day2){
int num1=monthToJanaray(day1.year,day1.month);
int num2=monthToJanaray(day2.year,day2.month);
return num1-num2;
}
//返回日差数
int day(int day1,int day2){
return day1-day2;
}
int yearMonthToDay(int year,int month);
//返回一年中某月到一月的天数
int monthToJanaray(int year,int month){
int i;
int day=0;
for(i=month-1;i>0;i--){
day=day+yearMonthToDay(year,i);
}
return day;
}
//bool isRun(int year);
//返回一年中一个月的天数
int yearMonthToDay(int year,int month){
int i;//一年中的某个月的天数
int leap;
int days[2][12]={
{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}
};
if(isRun(year)){
//为闰年
leap=1;
}else{
//为平年
leap=0;
}
i=days[leap][month-1];
return i;
}
//判断是否闰年
bool isRun(int year){
int i =year;
if((i%4==0&&i%100== 0)||i%400==0){
//为闰年
return true;
}else{
//为平年
return false;
}
}
分享到:
相关推荐
用C语言实现的一个日期工具,类似日历
主要介绍了C语言计算日期差的方法,结合具体实例形式分析了C语言针对日期转换、运算等相关操作技巧,需要的朋友可以参考下
个人在进行C语言复习期间编写的一个进行日期计算的程序(算法优化),主要功能有:选择菜单,两个日期求间隔,按天数往后计算日期,按天数往前计算日期,功能循环。主要用了函数,指针,结构体等知识
c语言中求日期的下一天代码,word格式,利用简单的算法实现。
C语言实现计算两个日期之间的天数的算法,原创!
作者无聊时用Dev-C++编写的一个图形界面小程序,图形显示精准的打开文件时间和上个月、这个月、...想学习C语言图形界面编程或多文件编程的可以参考下。(之前曾上传过该文件,近来发现月份日期判断出错了,现已改正。)
写的一个c语言函数获取windows下的日期和时间的类,相对mfc的CTime类增加了一些常用的操作,更重要的一点是它不需要对mfc的支持,可在任何windows下的c、c++开发的工程中使用。
供c语言初学者参考,c语言编写,tc下可以运行
日期加天数,日期减天数得到一个新日期,及两个日期天数相减得到一个天数,纯C语言,不用time.h库,不要加其它库函数。
通过用户输入的日期基准数据计算出用户想要查询的日期是星期几,并可以选择输出这一年的完整日历。望笑纳。
根据日期计算星期几的C语言代码,跟大家分享哈
C语言编写的时钟程序,会全屏显示一个与系统时间同步的时钟。
此函数是用c语言实现判断日期是否合法,其中小于1900年和大于2056年都算作不合法的日期
该文档是C语言根据日期求星期,分段计算方式今天是2007年10月17日,星期六. 现在告诉你一个日期,你能回答今天是星期几吗? 输入描述: 输入数据有多组,每组占一行,输入三个整数year(0), month(0), day(0). 输出...
基于C语言代码编写,可将时间日期转换成时间戳,将时间戳转换成日期,压缩文件rar内包含两个函数和一个结构体,一个函数是日期转换时间戳,另一个函数是时间戳转换日期,结构体是包含年月日
c语言实现的任意日期和天数的转换程序~欢迎大家下载测试,有bug联系我^_^
c语言获取系统时间 使用函数实现c语言获取系统时间
一个用C语言写的日历程序!一个用C语言写的日历程序!一个用C语言写的日历程序!一个用C语言写的日历程序!
基于C语言的日期计算器的设计与实现.rar
当输入经过的天数N,程序可计算出N天后的日期,好程序大家用