时间间隔比较java代码 java时间比大小

Java比较两个时间相差多少天,多少个月,多少年

java比较两个时间相差,可以使用calender类的api,实例如下:

成都创新互联公司专注于桂平企业网站建设,响应式网站设计,商城网站制作。桂平网站建设公司,为桂平等地区提供建站服务。全流程按需规划网站,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

package com.test;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

/**

* @description 日期比较天 月 年

* @author

*/

public class DateTest {

public static void main(String[] args) {

String date = "2008-06-12";

DateTest.compareDate(date, null, 0);

DateTest.compareDate(date, null, 1);

DateTest.compareDate(date, null, 2);

date = "2006-06-03";

DateTest.compareDate(date, null, 0);

DateTest.compareDate(date, null, 1);

DateTest.compareDate(date, null, 2);

DateTest.compareDate(date, "2009-06-01", 0);

DateTest.compareDate(date, "2009-06-01", 1);

DateTest.compareDate(date, "2009-06-01", 2);

}

/**

* @param date1 需要比较的时间 不能为空(null),需要正确的日期格式

* @param date2 被比较的时间 为空(null)则为当前时间

* @param stype 返回值类型 0为多少天,1为多少个月,2为多少年

* @return

*/

public static int compareDate(String date1,String date2,int stype){

int n = 0;

String[] u = {"天","月","年"};

String formatStyle = stype==1?"yyyy-MM":"yyyy-MM-dd";

date2 = date2==null?DateTest.getCurrentDate():date2;

DateFormat df = new SimpleDateFormat(formatStyle);

Calendar c1 = Calendar.getInstance();

Calendar c2 = Calendar.getInstance();

try {

c1.setTime(df.parse(date1));

c2.setTime(df.parse(date2));

} catch (Exception e3) {

System.out.println("wrong occured");

}

//List list = new ArrayList();

while (!c1.after(c2)) { // 循环对比,直到相等,n 就是所要的结果

//list.add(df.format(c1.getTime())); // 这里可以把间隔的日期存到数组中 打印出来

n++;

if(stype==1){

c1.add(Calendar.MONTH, 1); // 比较月份,月份+1

}

else{

c1.add(Calendar.DATE, 1); // 比较天数,日期+1

}

}

n = n-1;

if(stype==2){

n = (int)n/365;

}

System.out.println(date1+" -- "+date2+" 相差多少"+u[stype]+":"+n);

return n;

}

/**

* 得到当前日期

* @return

*/

public static String getCurrentDate() {

Calendar c = Calendar.getInstance();

Date date = c.getTime();

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

return simple.format(date);

}

}

运行结果:

2008-06-12 -- 2009-06-09 相差多少天:362

2008-06-12 -- 2009-06-09 相差多少月:12

2008-06-12 -- 2009-06-09 相差多少年:0

2006-06-03 -- 2009-06-09 相差多少天:1102

2006-06-03 -- 2009-06-09 相差多少月:36

2006-06-03 -- 2009-06-09 相差多少年:3

2006-06-03 -- 2009-06-01 相差多少天:1094

2006-06-03 -- 2009-06-01 相差多少月:36

2006-06-03 -- 2009-06-01 相差多少年:2

可以参考上面的程序,如果还有什么不明白的,可以自己去ITjob网上看看,有介绍Java这方面的知识。

JAVA 时间差距,两个时间相差多少天,时,分,秒

现在是2004-03-26 13:31:40

过去是:2004-01-02 11:30:24

要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

方法一:

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

try

{

Date d1 = df.parse("2004-03-26 13:31:40");

Date d2 = df.parse("2004-01-02 11:30:24");

long diff = d1.getTime() - d2.getTime();

long days = diff / (1000 * 60 * 60 * 24);

}

catch (Exception e)

{

}

方法二:

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

java.util.Date now = df.parse("2004-03-26 13:31:40");

java.util.Date date=df.parse("2004-01-02 11:30:24");

long l=now.getTime()-date.getTime();

long day=l/(24*60*60*1000);

long hour=(l/(60*60*1000)-day*24);

long min=((l/(60*1000))-day*24*60-hour*60);

long s=(l/1000-day*24*60*60-hour*60*60-min*60);

System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");

方法三:

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

java.util.Date begin=dfs.parse("2004-01-02 11:30:24");

java.util.Date end = dfs.parse("2004-03-26 13:31:40");

long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒

long day1=between/(24*3600);

long hour1=between%(24*3600)/3600;

long minute1=between%3600/60;

long second1=between%60/60;

System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");

====================================================

java 比较时间大小

String s1="2008-01-25 09:12:09";

String s2="2008-01-29 09:12:11";

java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Calendar c1=java.util.Calendar.getInstance();

java.util.Calendar c2=java.util.Calendar.getInstance();

try

{

c1.setTime(df.parse(s1));

c2.setTime(df.parse(s2));

}catch(java.text.ParseException e){

System.err.println("格式不正确");

}

int result=c1.compareTo(c2);

if(result==0)

System.out.println("c1相等c2");

else if(result0)

System.out.println("c1小于c2");

else

System.out.println("c1大于c2");

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

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

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

String date1="1987-01-01";

String date2="2010-01-01";

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

Date d1=sdf.parse(date1);

Date d2=sdf.parse(date2);

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官方API接口-Date

菜鸟教程-Java 日期时间

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

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

public  int calLastedTime(Date startDate) {

long a = new Date().getTime();

long b = startDate.getTime();

int c = (int)((a - b) / 1000);

return c;

}

扩展资料:

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

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

参考资料:百度百科-JAVA

java 计算两个时间相差多少秒?

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

Date a = new Date();

Thread.sleep(3000);

Date b = new Date();

long interval = (b.getTime() - a.getTime())/1000;

System.out.println("两个时间相差"+interval+"秒").

Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。java的应用已十分广泛。Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。Java的用途:80%以上的高端企业级应用都使用JAVA平台(电信、银行等)。

当前题目:时间间隔比较java代码 java时间比大小
转载注明:https://www.cdcxhl.com/article16/dodopgg.html

成都网站建设公司_创新互联,为您提供定制开发营销型网站建设网站导航定制网站网站建设响应式网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站