`

Java中2个DATE类型求天数

    博客分类:
  • Java
 
阅读更多

Java中2个DATE类型求天数

 

//方法一

Date[] d=new Date[2];
d[0]=new Date("...");
d[1]=new Date("...");
Calendar[] cal=new Calendar[2];
for(int i=0;i<cal.length;i++){
cal[i]=Calendar.getInstance();
cal[i].setTime(d[i]);
cal[i].set(Calendar.HOUR_OF_DAY,0);
cal[i].set(Calendar.MINUTE,0);
cal[i].set(Calendar.SECOND,0);
}
long m=cal[0].getTime().getTime();
long n=cal[1].getTime().getTime();
int k=(int)Math.abs((m-n)/1000/3600/24);

//方法二:

public static int getDiffDays(String beginDate, String endDate)throws DefaultException{
java.util.Date td1 = null;
try {
td1 = new SimpleDateFormat("yyyy-MM-dd").parse(beginDate);
} catch (ParseException e1) {
e1.printStackTrace();
}

long lBeginTime = td1.getTime();
java.util.Date td2 = null;
try {
td2 = new SimpleDateFormat("yyyy-MM-dd").parse(endDate);
System.out.println(td2);
} catch (ParseException e) {

e.printStackTrace();
}
long lEndTime = td2.getTime();
int iDay = (int) ((lEndTime - lBeginTime) / 86400000);
return iDay;

//方法三

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

class Test2 {
     public static String getDate(){
         SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
         Date dd = new Date();
         return ft.format(dd);
     }
     public static long getQuot(String time1, String time2){
         long quot = 0;
         SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
         try {
         Date date1 = ft.parse( time1 );
         Date date2 = ft.parse( time2 );
         quot = date1.getTime() - date2.getTime();
         quot = quot / 1000 / 60 / 60 / 24;
     } catch (ParseException e) {
         e.printStackTrace();
     }
         return quot;
     }
     public static void main(String[] args) throws Exception {
         String date1 = "2008-8-8";
         String date2 = getDate();
         long day = getQuot(date1,date2);
         System.out.println( "距离"+date1+" 还有 "+day+" 天" );
     }
} 

//java.text.SimpleDateFormat( "yyyy/MM/dd":String )   
//++++ parse(String):Date ->ParseException    
//++++ format(Date):String    **String格式为new SimpleDateFormat(String)参数格式

//java.util.Date 
//++++ getTime():long **返回1970年1月1日之前之后的时刻(毫秒)

//利用java.util.GregorianCalendar计算日期差(毫秒表示)

import java.util.*;

public class ElapsedMillis {
    public static void main(String[] args) {
       GregorianCalendar gc1 = new GregorianCalendar(1995, 11, 1, 3, 2, 1);
       GregorianCalendar gc2 = new GregorianCalendar(1995, 11, 1, 3, 2, 2);
       // the above two dates are one second apart
       Date d1 = gc1.getTime();
       Date d2 = gc2.getTime();
       long l1 = d1.getTime();
       long l2 = d2.getTime();
       long difference = l2 - l1;
       System.out.println("Elapsed milliseconds: " + difference);
    }
}

 

 

分享到:
评论

相关推荐

    获取两个日期类型相差天数

    获取两个日期之间的天数,使用整数计量而不是毫秒数约算,例:2017-11-26 23:59:59 与2017-11-27 00:00:00相差天数是1.

    JAVA日期判断方法小结

    JAVA中常见日期判断方法,比如:是否为润年? 获取指定年月的天数等等.

    简单自定义date类(java)

    不同于系统date类,自定义year\month\day,文档内容包括UML图,加减天数计算日期、判断是否为闰年,比较日期大小等功能。适合初学者!

    利用Java中Calendar计算两个日期之间的天数和周数

    Java 语言的Calendar(日历),Date(日期),和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分。...下面这篇文章就给大家介绍了如何利用Java中Calendar计算两个日期之间的天数和周数,下面来一起看看吧。

    Java 工作日计算

    java日期计算简单实用方法如下: SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); WorkdayUtils workdayUtils = new WorkdayUtils(); workdayUtils.setLegalWorkdayList(legalWorkdayList); ...

    Java判断两个时间相差的天数

    1、实现目标  输入:两个日期 ... * date2比date1多的天数 * @param date1 * @param date2 * @return */ public static int differentDays(Date date1,Date date2) { Calendar cal1 = Calendar.getIns

    java常用工具类的使用

    该类的大部分构造器和方法都已经过时,但是该类使用非常方便,因此目前使用还很普遍,该类的另一个主要功能是,在数据库操作中,它允许将毫秒值表示为SQL DATE值,是数据库操作中java.sql.Date的父类。关于数据库...

    Java获取时间差(天数差,小时差,分钟差)代码示例

    主要介绍了Java获取时间差(天数差,小时差,分钟差)代码示例,使用SimpleDateFormat来实现的相关代码,具有一定参考价值,需要的朋友可以了解下。

    java日期操作工具类(获取指定日期、日期转换、相隔天数)

    主要为大家详细介绍了java日期操作工具类,包括获取指定日期、日期转换、相隔天数等操作,感兴趣的小伙伴们可以参考一下

    java处理日期、时间的类

    根据生日计算年龄,只精确到日期 接受Calendar类型的日期数据,计算天数差 获取当前日期,格式化成yyyy-MM-dd 获取当前日期,格式化成yyyy-MM-dd HH:mm:ss ...接受Date类型的日期参数,返回两个日期相差的天数

    JAVA日期操作汇总

    java日期的使用介绍和具体实现的示例 (适合新手) 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar...

    java时间格式大全(算法源码)

    * 得到二个日期间的间隔天数 */ public static String getTwoDay(String sj1, String sj2) { SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); long day = 0; try { java.util.Date date ...

    Date日期操作工具类

    Date日期处理的工具类,包括日期格式化,字符串转换成日期,对日期的【时分秒年月日】进行加/减,获取时间差,计算两个日期之间相差的天数,等各种对日期的操作

    日期工具类

    自定义取值,Date类型转为String类型,4.自定义取值,String转换为Date,5.以毫秒为单位返回当前时间 ,6.在指定的日期上增加天数 ,7.在指定的日期上减去天数 ,8.为时间增加分钟,9.为时间减去分钟 ,10两个日期...

    java获取当年的法定节假日和工作日等信息

    * 03-获取一年中总共的天数。 * 04-获取一年中法定节假日的天数。 * 05-获取一年中需要补班的周末天数。 * 06-获取一年中周末的天数(周六+周日)。 * 07-获取一年中休息日的天数(法定节假日+不需要补班的周末...

    java操作日期大全

    各种日期类型(字符,util.Date,sql.Date,Calendar等)转换 * 2.获取指定日期的年份,月份,日份,小时,分,秒,毫秒 * 3.获取当前/系统日期(指定日期格式) * 4.获取字符日期一个月的天数 * 5.获取指定月份的...

    Date时间操作工具类

    一个日期时间加上分钟数,得到一个新的日期时间 2.判断当前时间是否在时间段之内 3.根据默认的格式格式化时间 4.根据指定的格式格式化时间 5.改变月份 6.改变天数 7.计算天数间隔 8.Date转String 指定格式 9. String...

    Java - DateUtil 日期时间转换工具类

    内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关的方法,如:获取指定日期几天后的日期;...

    用javascript实现计算两个日期的间隔天数

    代码如下:// 计算两个日期的间隔天数 function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2002-12-18格式 var aDate, oDate1, oDate2, iDays aDate = sDate1.split(“-“) oDate1 = new Date...

    使用Java的Calendar类计算两段时间之间的工作日的天/小时/分钟/秒数

    该工具类用于两个时间段之间节假日的计算(可获取两个时间段之间的节假日天数,小时,分钟,秒)

Global site tag (gtag.js) - Google Analytics