java计算时间差?java计算日期差值

牵着乌龟去散步 万象 18 0

各位老铁们好,相信很多人对java计算时间差都不是特别的了解,因此呢,今天就来为大家分享下关于java计算时间差以及java计算日期差值的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

  1. java中如何计算出两个日期之间相差多少天
  2. java中计算两个时间相差多少分钟
  3. java 中怎么比较两个时间相差的秒数
  4. java中计算两个日期之间差的天数
  5. java中计算两个时间相差多少分
  6. Java计算两个日期时间相差几天,几小时,几分钟等

一、java中如何计算出两个日期之间相差多少天

思路就是根据它们相差的毫秒数除以每天的毫秒数(60*60*24*1000),代码如下:

public static void main(String[] args) throws ParseException{

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");

long daysBetween=(d2.getTime()-d1.getTime()+1000000)/(60*60*24*1000);

System.out.println("1987-01-01与 2010-01-01相隔"+daysBetween+"天");

Java使用以下三种 *** 来比较两个日期:

1、使用 getTime() *** 获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。

2、使用 *** before(),after()和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date(99, 2, 18))返回true。

3、使用 compareTo() *** ,它是由 Comparable接口定义的,Date类实现了这个接口。

SimpleDateFormat是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat允许你选择任何用户自定义日期时间格式来运行

SimpleDateFormat ft= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

这一行代码确立了转换的格式,其中 yyyy是完整的公元年,MM是月份,dd是日期,HH:mm:ss是时、分、秒。

注意:有的格式大写,有的格式小写,例如 MM是月份,mm是分;HH是 24小时制,而 hh是 12小时制。

当前时间为: 2018-09-14 10:16:34

二、java中计算两个时间相差多少分钟

java中计算两个时间相差多少分钟,具体代码如下:

public static String getDatePoor(Date endDate, Date nowDate){

long diff= endDate.getTime()- nowDate.getTime();

// long sec= diff% nd% nh% nm/ ns;

return day+"天"+ hour+"小时"+ min+"分钟";

输出格林威治时间,比如说Date date= new Date();

String toStr= date.toString();

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。

Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

1、JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。

2、EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。

3、Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的 *** 能被远程Java虚拟机调用。这样,远程 *** 激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。

4、Java IDL(Java Interface Definition Language)提供与CORBA(Common Object Request Broker Architecture)的无逢的互操作性。这使得Java能集成异构的商务信息资源。

5、JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无逢的连接。这个接口屏蔽了企业 *** 所使用的各种命名和目录服务。

6、JMAPI(Java Management API)为异构 *** 上系统、 *** 和服务管理的开发提供一整套丰富的对象和 *** 。

7、JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。

8、JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。

参考资料:百度百科▬Java计算

三、java 中怎么比较两个时间相差的秒数

1、java计算两个时间相差可以用getTime()来获得两个时间的毫秒数,可以这样计算得出两个时间的秒数的相差如下:

2、public int calLastedTime(Date startDate){

3、Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

4、Java具有简单性、面向对象、分布式、健壮性、安全性、平 *** 立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

四、java中计算两个日期之间差的天数

在Java开发物流或是其他功能的时候会用到两个日期相差多天的数据,所以整理了一下备用。

long date1= getDateTime("20121201");//可改成自己的日期类型,但以“20121212”这种格式

long date2= getDateTime("20121212");

int day= dateInterval(date1, date2);

*建议date1大于 date2这样计算的值为正数

public static int dateInterval(long date1, long date2){

// Calendar.DAY_OF_YEAR当前年中的天数

// getActualMaximum(Calendar.DAY_OF_YEAR)返回今年是 365天还是366天

Calendar calendar1= Calendar.getInstance();//获得一个日历

calendar1.setTimeInMillis(date1);//用给定的 long值设置此 Calendar的当前时间值。

Calendar calendar2= Calendar.getInstance();

calendar2.setTimeInMillis(date2);

int y1= calendar1.get(Calendar.YEAR);

int y2= calendar2.get(Calendar.YEAR);

int d1= calendar1.get(Calendar.DAY_OF_YEAR);

int d2= calendar2.get(Calendar.DAY_OF_YEAR);

day= numerical(maxDays, d1, d2, y1, y2, calendar2);

*取出20121201这一年过了多少天 d1=天数取出20121212这一年过了多少天 d2=天数

*如果2012年这一年有366天就要让间隔的天数+1,因为2月份有29日。

*@param maxDays用于记录一年中有365天还是366天

*@param d1表示在这年中过了多少天

*@param d2表示在这年中过了多少天

*@param calendar根据日历对象来获取一年中有多少天

public static int numerical(int maxDays, int d1, int d2, int y1, int y2, Calendar calendar){

if(calendar.getActualMaximum(Calendar.DAY_OF_YEAR)== 366){

System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_YEAR));

for(int i= 0; i< betweenYears; i++){

calendar.set(Calendar.YEAR,(calendar.get(Calendar.YEAR))+ 1);

maxDays= calendar.getActualMaximum(Calendar.DAY_OF_YEAR);

//之一个 366天不用+ 1将所有366记录,先不进行加入然后再少加一个

//如果最后一个 maxDays等于366 day- 1

if(i== betweenYears-1&& betweenYears> 1&& maxDays== 366){

for(int i= 0; i< d366.size(); i++){

*@param strDate日期支持年月日示例:yyyyMMdd

*@return 1970年1月1日器日期的毫秒数

public static long getDateTime(String strDate){

return getDateByFormat(strDate,"yyyyMMdd").getTime();

public static Date getDateByFormat(String strDate, String format){

SimpleDateFormat sdf= new SimpleDateFormat(format);

import java.text.ParseException;

import java.text.SimpleDateFormat;

public static void main(String[] args) throws ParseException{

// TODO Auto-generated method stub

java计算时间差?java计算日期差值-第1张图片-

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date d1=sdf.parse("2012-09-08 10:10:10");

Date d2=sdf.parse("2012-09-15 00:00:00");

System.out.println(daysBetween(d1,d2));

System.out.println(daysBetween("2012-09-08 10:10:10","2012-09-15 00:00:00"));

public static int daysBetween(Date *** date,Date bdate) throws ParseException

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

*** date=sdf.parse(sdf.format( *** date));

bdate=sdf.parse(sdf.format(bdate));

Calendar cal= Calendar.getInstance();

long time1= cal.getTimeInMillis();

long time2= cal.getTimeInMillis();

long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));

public static int daysBetween(String *** date,String bdate) throws ParseException{

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

Calendar cal= Calendar.getInstance();

cal.setTime(sdf.parse( *** date));

long time1= cal.getTimeInMillis();

cal.setTime(sdf.parse(bdate));

long time2= cal.getTimeInMillis();

long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));

SimpleDateFormat df=new SimpleDateFormat("yyyymmdd");

Date d0=new java.util.Date();

System.out.println((time1-time0)/(1000*60*60*24));

这样算两个时间相差的天数比较好

public static int diffdates(Date date1, Date date2){

ElapsedTime et= new ElapsedTime();

GregorianCalendar gc1= new GregorianCalendar();

GregorianCalendar gc2= new GregorianCalendar();

result= et.getDays(gc1, gc2);

public int getDays(GregorianCalendar g1, GregorianCalendar g2){

gc2=(GregorianCalendar) g2.clone();

gc1=(GregorianCalendar) g1.clone();

gc2=(GregorianCalendar) g1.clone();

gc1=(GregorianCalendar) g2.clone();

gc1.clear(Calendar.MILLISECOND);

gc1.clear(Calendar.HOUR_OF_DAY);

gc2.clear(Calendar.MILLISECOND);

gc2.clear(Calendar.HOUR_OF_DAY);

public boolean isRentalOverdue(DateTime datetimeRented){

Period rentalPeriod= Period.days(2);

return datetimeRented.plus(rentalPeriod).isBeforeNow()

五、java中计算两个时间相差多少分

1、java中计算两个时间相差多少分钟

2、public static String getDatePoor(Date endDate, Date nowDate){

3、long diff= endDate.getTime()- nowDate.getTime();

4、// long sec= diff% nd% nh% nm/ ns;

5、return day+"天"+ hour+"小时"+ min+"分钟";

6、输出格林威治时间,比如说Date date= new Date();

7、String toStr= date.toString();

8、Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。

9、用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的Web、Internet计算。

10、从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。

11、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。

六、Java计算两个日期时间相差几天,几小时,几分钟等

思路是先计算两个日期相差的毫秒数,然后分别根据每天的毫秒数、每小时的毫秒数、每分钟的毫秒数来计算相差几天,几小时,几分钟。具体代码如下:

public static String getDatePoor(Date endDate, Date nowDate){

long nd= 1000* 24* 60* 60;//每天毫秒数

long nh= 1000* 60* 60;//每小时毫秒数

long nm= 1000* 60;//每分钟毫秒数

long diff= endDate.getTime()- nowDate.getTime();//获得两个时间的毫秒时间差异

long day= diff/ nd;//计算差多少天

long hour= diff% nd/ nh;//计算差多少小时

long min= diff% nd% nh/ nm;//计算差多少分钟

return day+"天"+ hour+"小时"+ min+"分钟";

然后做一个测试,调用这个 *** 测试一下:

可以看出两个日期时间相差几天,几小时,几分钟都可以算出来。

Java使用以下三种 *** 来比较两个日期:

1、使用 getTime() *** 获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。

2、使用 *** before(),after()和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date(99, 2, 18))返回true。

3、使用 compareTo() *** ,它是由 Comparable接口定义的,Date类实现了这个接口。

Oracle官方API接口-SimpleDateFormat

文章到此结束,如果本次分享的java计算时间差和java计算日期差值的问题解决了您的问题,那么我们由衷的感到高兴!

标签: 计算 差值 时间差 java 日期

抱歉,评论功能暂时关闭!