Java函数2:计算两个日期相差的天数
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:计算两个日期相差的天数的更多相关文章
- MySQL计算两个日期相差的天数、月数、年数
MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF ...
- 计算两个日期相差的天数 js php日期 减一年
计算两个日期相差的天数 //sDate1和sDate2是yyyy-MM-dd格式 function dateDiff(sDate1, sDate2) { var aDate, oDate1, oDat ...
- mysql计算两个日期相差的天数
DATEDIFF() 函数可以返回两个日期之间的天数. 如下: SELECT DATEDIFF('2015-06-29','2015-06-12') AS DiffDate 结果得17 SELECT ...
- Java 计算两个日期相差的天数
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- Java计算两个日期相差的天数
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- PGSQL-通过SQL语句来计算两个日期相差的天数
这是本人第一次写的~我在某次需求中遇到一个问题,如何在SQL语句中计算出两个日期的天数,然后用那个结果来进行数据的筛选呢?通过网上查阅了资料发现 date_part('day', cast(time1 ...
- php计算两个日期相差的天数
/** * 时间差计算 * * @param Timestamp $time * @return String Time Elapsed */ function time2Units ($time,$ ...
- jquery 计算两个日期相差的天数
<!DOCTYPE html> <html> <head> <meta charset = "utf-8"> <title&g ...
- Java技巧——比较两个日期相差的天数
Java技巧——比较两个日期相差的天数 摘要:本文主要记录了在Java里面如何判断两个日期相差的天数. 判断两个Date类型的日期之间的天数 通过计算毫秒数判断: public static void ...
随机推荐
- Jvm原理剖析与调优之内存结构
一些不得不说的概念 JVM JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟机包括一套字节码指令集.一组寄存器.一个栈.一个 ...
- VS2010 win7 64位安装后新建项目生成时错误:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
解决方案:VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 ...
- java中的final和volatile详解
相比synchronized,final和volatile也是经常使用的关键字,下面聊一聊这两个关键字的使用和实现 1.使用 final使用: 修饰类表示该类为终态类,无法被继承 修饰方法表示该方法无 ...
- python复杂网络库networkx:算法
http://blog.csdn.net/pipisorry/article/details/54020333 Networks算法Algorithms 最短路径Shortest Paths shor ...
- 安卓高级3 RecyclerView结合SwipeRefreshLayout并添加上拉
目录结构: 效果图: MainActivity.java package qianfeng.com.pullrecyclerviewdemo; import android.os.Bundle; im ...
- Bootstrap3 排版-引用
在你的文档中引用其他来源的内容. 默认样式的引用 将任何 HTML 元素包裹在 <blockquote> 中即可表现为引用样式.对于直接引用,我们建议用 <p> 标签. Lor ...
- Jedis分片Sentinel连接池实验
Jedis分片Sentinel连接池实验 1.起因 众所周知,Redis官方HA工具Sentinel已经问世很久了,但令人费解的是,Jedis官方却迟迟没有更新它的连接池.到目前Maven库中最新的2 ...
- Ubuntu环境下Anaconda安装TensorFlow并配置Jupyter远程访问
本文主要讲解在Ubuntu系统中,如何在Anaconda下安装TensorFlow以及配置Jupyter Notebook远程访问的过程. 在官方文档中提到,TensorFlow的安装主要有以下五种形 ...
- 如何找出Xcode中不同版本Swift的路径
我们知道Xcode中可能包含不知一个Swift的版本,那么我们如何找到它们对应的路径呢? 熟悉unix shell命令的童鞋都知道有一个find指令,在我们已知Xcode路径时,我们可以在其中找到Sw ...
- Swift下多个Storyboard的项目结构
我是个比较喜欢用storyboard和xib的人.我个人的习惯就是,能用storyboard的一定不用代码手工撸.当然自己业余个人写的项目,基本上一个storyboard就搞定了.但涉及到多人合作下时 ...