`
anysky131
  • 浏览: 176695 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

C语言写的日期比较

阅读更多
最近无聊,写了一个日期比较的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语言计算日期差是指通过编写C语言程序来计算两个日期之间的差值,例如计算某个日期到今天的天数、计算两个日期之间的天数差等。本文将详细介绍C语言计算日期差的方法,并提供了一个实例程序来演示如何计算日期差。 ...

    用C语言写的工资管理系统

    在C语言中,我们可以通过结构体来封装员工信息,如姓名、工号、部门、入职日期和基础工资等。结构体可以方便地存储和操作这些数据。 接着,我们关注工资计算部分。这涉及到各种复杂的计算规则,如基本工资、加班费...

    C语言:日期计算算法优化:两个日期求间隔,按天数往后计算日期,按天数往前计算日期

    个人在进行C语言复习期间编写的一个进行日期计算的程序(算法优化),主要功能有:选择菜单,两个日期求间隔,按天数往后计算日期,按天数往前计算日期,功能循环。主要用了函数,指针,结构体等知识

    c语言中求日期的下一天代码

    在C语言中,计算日期的下一天涉及到对日期的基本理解,包括闰年规则以及每个月份的天数。上述代码提供了一个简单的实现,用于计算输入日期的下一天。下面将详细解释这段代码的工作原理。 首先,代码包含`stdio.h`...

    c语言日期处理程序

    在C语言中,日期处理是一项基础但重要的任务,它涉及到时间戳、日期格式化、日期比较和日期计算等。C语言本身并没有内置的日期库,但通过标准库中的`&lt;time.h&gt;`头文件,我们可以利用系统时间来实现日期的相关操作。...

    C语言写的学生管理系统

    【C语言写的学生管理系统】是一种基于C编程语言开发的应用程序,旨在实现对学籍信息的有效管理。这个系统的核心功能包括添加、删除、修改、查询学生信息,并能够将这些信息保存到文档中,以便在程序下次运行时能快速...

    C语言实现计算两个日期之间的天数的算法

    C语言实现计算两个日期之间的天数的算法,原创!

    C语言写的万年历

    【标题】:“C语言写的万年历”是一个利用C编程语言实现的日历程序,它可以显示从公元1到公元9999年的所有日期。这个项目不仅展示了C语言的基础语法和控制结构,还涉及到日期计算、循环和条件判断等高级概念。 ...

    用C语言写的一个图形界面程序

    标题中的“用C语言写的一个图形界面程序”指的是使用C语言开发的,具有用户图形界面(GUI)的应用程序。在编程领域,C语言通常用于系统级编程或底层开发,但要构建图形界面,通常需要借助特定的库或者框架。在这个...

    用c语言写的daytime网络小程序

    标题中的“用C语言写的daytime网络小程序”指的是一个基于C语言实现的网络应用程序,它遵循TCP/IP协议栈,主要用于在网络环境中提供日期和时间信息。这个程序分为两个部分:服务端和客户端。服务端监听特定的网络...

    windows下c语言获取日期时间的类

    在Windows环境下进行C语言编程时,获取日期和时间是一项常见的任务。这个类提供了一种方便的方式来获取和操作系统时间,而无需依赖MFC(Microsoft Foundation Classes)库中的CTime类。MFC虽然提供了丰富的功能,但...

    用C语言写的一个图形界面程序(改)

    作者无聊时用Dev-C++编写的一个图形界面小程序,图形显示精准的打开文件时间和上个月、这个月、...想学习C语言图形界面编程或多文件编程的可以参考下。(之前曾上传过该文件,近来发现月份日期判断出错了,现已改正。)

    C语言写的书籍库系统

    1. **数据结构与数据库**:在C语言中,可以使用结构体(struct)来创建自定义的数据类型,如书籍结构,包含书名、作者、出版社、出版日期等属性。为了存储大量书籍信息,可以使用链表、数组或二叉树等数据结构。如果...

    C语言写的模拟时钟程序

    在C语言编程中,模拟时钟程序是一种常见的练习,它能帮助开发者理解基本的编程概念,如循环、时间处理和用户界面设计。本程序通过在控制台上模拟时钟的走时,展示了C语言如何处理时间并以汉字形式显示。下面我们将...

    linux上用c语言写的简易日历

    这个“linux上用c语言写的简易日历”项目对于初学者来说是一个很好的起点,它涵盖了C语言的基础以及与Linux系统交互的初步知识。通过实践这个项目,不仅可以掌握C语言编程,还能了解到如何在Linux环境下编写系统级的...

    一个女生用C语言写的爱情函数

    使用了变量`day`表示日期,以及比较运算符(`&gt;`、`==`)判断条件。`girl.感情++`和`girl.感情--`是对变量的增减操作,体现了C语言的简单赋值和增量操作。 6. 函数调用: `girl.goto(another_boy)`、`boy.郁闷中()...

    C语言写的模拟时钟

    在IT领域,编程语言是构建各种软件的基础工具,C语言作为一门经典的系统级编程语言,因其高效、灵活和广泛的应用范围而备受推崇。本项目是一个用C语言编写的模拟时钟,它展示了如何利用C语言的基本语法和系统调用来...

    C语言写日记本管理系统

    【C语言写日记本管理系统】是一个典型的面向初学者的编程实践项目,主要目的是帮助学习者掌握C语言的基础知识以及简单的文件操作。在这个项目中,你可以了解到如何利用C语言实现一个基本的文本管理程序,比如日记本...

    日期加天数,日期减天数得到一个新日期,及两个日期天数相减得到一个天数,纯C语言不用time.h库。

    日期加天数,日期减天数得到一个新日期,及两个日期天数相减得到一个天数,纯C语言,不用time.h库,不要加其它库函数。

Global site tag (gtag.js) - Google Analytics