在实际的应用中,我们经常会比较两个日期相差的天数,下面我们通过java方法判断两个日期所差的额天数。

具体内容,请看下面的代码:

package com.jd.jr.fclient.test;

import org.junit.Test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; /**
* 日期测试类
*
* @author zhanghao10@jd.com
* @since 2016/3/18 0018
*/ public class DateTest { /**
* 使用Calendar类 辅助完成天数的差值
* 在不涉及到跨年的情况,此种方法是没问题的
* 但是设计跨年的情况,此种方法回出问题的哦
*
* 如果时间为:2016-03-18 11:59:59 和 2016-03-19 00:00:01的话差值为 1
*
* @throws ParseException
*/
@Test
public void daysOfTwo_1() throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//跨年的情况会出现问题哦
//如果时间为:2016-03-18 11:59:59 和 2016-03-19 00:00:01的话差值为 1
Date fDate=sdf.parse("2015-12-31");
Date oDate=sdf.parse("2016-01-01");
Calendar aCalendar = Calendar.getInstance();
aCalendar.setTime(fDate);
int day1 = aCalendar.get(Calendar.DAY_OF_YEAR);
aCalendar.setTime(oDate);
int day2 = aCalendar.get(Calendar.DAY_OF_YEAR);
int days=day2-day1;
System.out.print(days);
} /**
* 通过毫秒值,手动计算日期间的相关的值
*
* 跨年不会出现问题
* 使用此种方法的话需要注意
* 如果时间为:2016-03-18 11:59:59 和 2016-03-19 00:00:01的话差值为 0
*
* @throws ParseException
*/
@Test
public void daysOfTwo_2() throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//跨年不会出现问题
//如果时间为:2016-03-18 11:59:59 和 2016-03-19 00:00:01的话差值为 0
Date fDate=sdf.parse("2015-12-31");
Date oDate=sdf.parse("2016-01-01");
long days=(oDate.getTime()-fDate.getTime())/(1000*3600*24);
System.out.print(days);
} }

  

  

  大家可以根据实际的需要选择对应的计算方法即可。

下面附上JS计算两个日期的相差天数的值计算方法:

var date1=new Date();  //开始时间
alert("aa");
var date2=new Date(); //结束时间
var date3=date2.getTime()-date1.getTime() //时间差的毫秒数 //计算出相差天数
var days=Math.floor(date3/(24*3600*1000)) //计算出小时数 var leave1=date3%(24*3600*1000) //计算天数后剩余的毫秒数
var hours=Math.floor(leave1/(3600*1000))
//计算相差分钟数
var leave2=leave1%(3600*1000) //计算小时数后剩余的毫秒数
var minutes=Math.floor(leave2/(60*1000)) //计算相差秒数
var leave3=leave2%(60*1000) //计算分钟数后剩余的毫秒数
var seconds=Math.round(leave3/1000) alert(" 相差 "+days+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒")

  

好吧,就先到这里吧

JAVA 比较两个日期相差的天数的更多相关文章

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

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

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

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

  3. Java函数2:计算两个日期相差的天数

    import java.util.Scanner; public class HelloWorld { public static void main(String[] args){ // Scann ...

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

    package com.myjava; import java.text.ParseException; import java.text.SimpleDateFormat; import java. ...

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

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

  6. java 判断两个时间相差的天数

    1.实现目标 输入:两个日期 输出:两个日期相差的天数 2.代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的   ...

  7. js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数

    js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...

  8. java计算两个日期相差多少天

    java计算两个日期相差多少天 public class DateUtil{ public static int betweenDays(Date startDate, Date endDate ) ...

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

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

随机推荐

  1. pandas 选取数据 修改数据 loc iloc []

    pandas选取数据可以通过 loc iloc  [] 来选取 使用loc选取某几列: user_fans_df = sample_data.loc[:,['uid','fans_count']] 使 ...

  2. 新东方雅思词汇---7.4、cap

    新东方雅思词汇---7.4.cap 一.总结 一句话总结: 抓住 capable 英 ['keɪpəb(ə)l]  美 ['kepəbl]  adj. 能干的,能胜任的:有才华的 词组短语 capab ...

  3. mysql 如果数据不存在,则插入新数据,否则更新 的实现方法

    CREATE TABLE `table_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `my_key` int(11) NOT NULL DEFAULT ...

  4. IDL语言开发规范

    一.支持的类型 1.IDL支持常见的基本类型,常量,枚举,容器,结构体,服务.不支持多态和重载,参数.返回值不能为空,各个基本类型的标识如下: bool:对应java的boolean,布尔类型(tru ...

  5. 2017.11.17 Demo-stm8+temperature timeing control

    1Find the lab and add in project. Downtown  it from ST  official website..compile it to ensure it pa ...

  6. 【linux】打包压缩命令

    打包命令:tar\zip 压缩命令:gzip 打包文件 tar -zcvf xxx/ tar -xvf xxx.tar z的意思是通过gzip压缩 c是create是生成打包的意思,x是解包 v是压缩 ...

  7. Javascript+CSS实现影像卷帘效果

    用过Arcgis的筒子们对于Arcmap里面的一个卷帘效果肯定记忆很深刻,想把它搬到自己的WebGIS系统中去,抱着同样的想法,我也对这种比较炫的卷帘效果做了一下研究,吼吼,出来了,给大家汇报一下成果 ...

  8. Arcgis for Androd API开发系列教程(一)——地图显示与GPS定位

    序:最近呢,工作鸭梨不是怎么大,对于自己爱折腾的想法又冒出了水面,开始自己的android开发的学习之旅.但是呢,本人是做GIS的,所以呢,就打算从这方面入手看看,是不是有什么比较好玩的玩意呢,这才导 ...

  9. Wix是什么?

    Wix是Windows Installer XML的简称,其通过类XML文件格式来指定了用于创建Windows Installer安装包数据库的元素.关于Wix的详细介绍,http://wixtool ...

  10. VS2017连接到中国区的Azure

    1. 安装Azure Environment Select扩展 2. 选择中国区的Azure 3. 之后就可以使用中国区的账号登录了 参考链接:https://docs.azure.cn/zh-cn/ ...