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. Lintcode391 Number of Airplanes in the Sky solution 题解

    [题目描述] Given an interval list which are flying and landing time of the flight. How many airplanes ar ...

  2. 模仿天猫实战【SSM版】——项目起步

    前言:现在自己的学习似乎遇到了瓶颈,感觉学习了 SSM 之后有一些迷茫,不知道接下来该往哪里去努力了,我觉得这是个很不好的状态,为了度过这段时期,我准备把天猫模仿下来(给自己找点事做)之后开始去巩固 ...

  3. 有趣的冷知识:编程中Foo, Bar 到底什么意思?

    转自:编程中Foo, Bar 到底什么意思? 1 前言 在很多国外计算机书本和一些第三份开源软件的Demo中经常用到两个英文单词Foo,Bar.这到底是什么意思呢?从步入屌丝界的IT生活见到这两个单词 ...

  4. CSS布局套路

    这篇笔记的目的是记录分别应用float和flex布局的方法.主要是对遇到的问题进行总结. 1.float布局 总结: 1.1 使用float布局要清除浮动,清除的方法是,在父元素添加如下样式 .cle ...

  5. 牛客网编程练习之PAT乙级(Basic Level):1034 写出这个数

    AC代码: import java.util.*; /** * @author CC11001100 */ public class Main { public static void main(St ...

  6. ACM 数塔

    在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?  已经告诉你了,这是个DP的题 ...

  7. Python3 注释

    确保对模块, 函数, 方法和行内注释使用正确的风格 Python中的注释有单行注释和多行注释: Python中单行注释以#开头,例如: #!/usr/bin/python3 #coding=utf-8 ...

  8. 巧用第三方快速开发Android App 热门第三方SDK及框架

    巧用第三方快速开发Android App 热门第三方SDK及框架 历经大半年的时间,终于是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方快速开发Android App ...

  9. 用豆瓣镜像解决pip安装慢的问题

    pip3 install django==1.9 -i http://pypi.douban.com/simple/

  10. Objective-C方法的实现

    Objective-C的方法被两种数据类型描述:一个是选择子(SEL),它用来描述方法的名称;另一个是实现(IMP),它用来描述方法被调用时实际执行的代码(它们基本上只是C函数的指针). 类似于SEL ...