import java.util.Scanner;
public class HelloWorld {
	public static void main(String[] args){
	//	Scanner s = new Scanner(System.in);
	//	System.out.println("请输入一个数字");
	//	int num = s.nextInt();
		int SUM = Caluater_date_sub_day(2009,1,25,2008,1,10);
		System.out.println(SUM);
	}
	//判断闰年平年
	public static boolean isLeap(int y){
		if((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
			return true ;
		return false ;
	}
	//判断一年已经过了多少天
	public static int GetDay(int y , int m , int d){
		int sum = 0 ;
		switch(m){
		case 12 : sum += 31 ;
		case 11 : sum += 30 ;
		case 10 : sum += 31 ;
		case 9  : sum += 30 ;
		case 8  : sum += 31 ;
		case 7  : sum += 31 ;
		case 6  : sum += 30 ;
		case 5  : sum += 31 ;
		case 4  : sum += 30 ;
		case 3  : sum += 31 ;
		case 2  :
				if(isLeap(y) == true)
					sum += 29 ;
				else
					sum += 28 ;
		case 1  : sum += 31 ;
		sum += d ;
		}
		return d ;
	}
	//判断一年还剩下多少天
	public static int OthearDay(int y , int m , int d)
	{
		if(isLeap(y) == true)
		   return 366 - GetDay(y , m , d);
		return 365 - GetDay(y, m, d) ;
	}
	//判断两个日期相差的天数
	public static int Caluater_date_sub_day(int y1,int m1,int d1,int y2,int m2 ,int d2)
	{
		if(y1 == y2){
			int day1 = GetDay(y1, m1, d1) - GetDay(y2, m2, d2) ;
			return abs(day1);
		}
		else if(y1 < y2){
			int sum1 = OthearDay(y1, m1, d1) ;
			int sum2 = GetDay(y2, m2, d2) ;
			int sum3 = 0 ;
			for(int i = y1 + 1 ; i < y2 ; i++){
				if(isLeap(i))
					sum3+=366 ;
				else
					sum3+=365 ;
			}
			return sum1+sum2+sum3 ;
		}else
		{
			int sum1 = GetDay(y1, m1, d1) ;
			int sum2 = OthearDay(y2, m2, d2) ;
			int sum3 = 0 ;
			for(int i = y2 + 1 ; i < y1 ; i++){
				if(isLeap(i))
					sum3+=366 ;
				else
					sum3+=365 ;
			}
			return sum1+sum2+sum3 ;
		}
	}
	//计算一个数的绝对值
	public static int abs(int num){
		return num > 0 ? num : -num ;
	}
}

Java函数2:计算两个日期相差的天数的更多相关文章

  1. MySQL计算两个日期相差的天数、月数、年数

    MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF ...

  2. 计算两个日期相差的天数 js php日期 减一年

    计算两个日期相差的天数 //sDate1和sDate2是yyyy-MM-dd格式 function dateDiff(sDate1, sDate2) { var aDate, oDate1, oDat ...

  3. mysql计算两个日期相差的天数

    DATEDIFF() 函数可以返回两个日期之间的天数. 如下: SELECT DATEDIFF('2015-06-29','2015-06-12') AS DiffDate 结果得17 SELECT ...

  4. Java 计算两个日期相差的天数

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  5. Java计算两个日期相差的天数

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  6. PGSQL-通过SQL语句来计算两个日期相差的天数

    这是本人第一次写的~我在某次需求中遇到一个问题,如何在SQL语句中计算出两个日期的天数,然后用那个结果来进行数据的筛选呢?通过网上查阅了资料发现 date_part('day', cast(time1 ...

  7. php计算两个日期相差的天数

    /** * 时间差计算 * * @param Timestamp $time * @return String Time Elapsed */ function time2Units ($time,$ ...

  8. jquery 计算两个日期相差的天数

    <!DOCTYPE html> <html> <head> <meta charset = "utf-8"> <title&g ...

  9. Java技巧——比较两个日期相差的天数

    Java技巧——比较两个日期相差的天数 摘要:本文主要记录了在Java里面如何判断两个日期相差的天数. 判断两个Date类型的日期之间的天数 通过计算毫秒数判断: public static void ...

随机推荐

  1. Future学习

    接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果.        Callable接口类似于Runnable,从名字就可以看出来了,但 ...

  2. 《Python黑帽子》_1设置Python环境安装wingIDE

    1首先你得有个Kali 检测python版本 安装pip 2安装wingIDE 网站 http://www.wingware.com 获取WingIDE 3解压wingide并且解决依赖关系 下载后在 ...

  3. ACM Red and Black

    有一个矩形的房间,覆盖着方砖. 每个瓷砖都是红色或黑色. 一个男人站在黑色的瓷砖上,他可以移动到四个相邻的瓷砖之一.  但他不能在红砖上移动,他只能在黑砖上移动. 编写一个程序来计算他可以通过重复上述 ...

  4. WebRTC 音频算法 附完整C代码

    WebRTC提供一套音频处理引擎, 包含以下算法: AGC自动增益控制(Automatic Gain Control) ANS噪音抑制(Automatic Noise Suppression) AEC ...

  5. 安卓图片Bitmap一些旋转处理

    Bitmap convert(Bitmap a, int width, int height) { int w = a.getWidth(); int h = a.getHeight(); Bitma ...

  6. Python 2.7 闭包的局限

    想法源自:http://stackoverflow.com/questions/141642/what-limitations-have-closures-in-python-compared-to- ...

  7. Programming In Scala笔记-第十九章、类型参数,协变逆变,上界下界

    本章主要讲Scala中的类型参数化.本章主要分成三个部分,第一部分实现一个函数式队列的数据结构,第二部分实现该结构的内部细节,最后一个部分解释其中的关键知识点.接下来的实例中将该函数式队列命名为Que ...

  8. Cocoa层粒子发射器动画添加多个cell的一种重构

    在iOS动画之旅第19章中最后的挑战中需要我们在雪花例子发生器中添加多个雪花贴图,也就是多个cell,因为我们不可能将每个cell的参数都重新写一遍,所以有必要写一个helper方法来做这件事: fu ...

  9. CoreAnimation动画结构变量

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交 ...

  10. python 如何优雅地退出子进程

    python 如何优雅地退出子进程 主进程产生子进程,子进程进入永久循环模式.当主进程要求子进程退出时,如何能安全地退出子进程呢? 参考一些代码,我写了这个例子.运行之后,用kill pid试试.pi ...