您的位置:

java日期计算,Java计算日期之间天数

本文目录一览:

java计算两个日期相差多少天小时分钟等

Date d=new Date(); 

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

System.out.println("今天的日期:"+df.format(d)); 

System.out.println("两天前的日期:" + df.format(new Date(d.getTime() - (long)2 * 24 * 60 * 60 * 1000)));

System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + (long)3 * 24 * 60 * 60 * 1000)));

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如何计算日期的加减

第一种,知道日期,如2019091109144

String str=txnTime;

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化输出日期

Date dt = null;

try {

dt = sdf.parse(str);

} catch (ParseException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

Calendar rightNow = Calendar.getInstance();

rightNow.setTime(dt);

rightNow.add(Calendar.YEAR,-1);//日期减1年

rightNow.add(Calendar.MONTH,3);//日期加3个月

rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天

rightNow.add(Calendar.SECOND,60);//日期加60秒天

Date dt1=rightNow.getTime();

String reStr = sdf.format(dt1);

System.out.println(reStr);

第二种,自己获取时间,格式化输出计算加减

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化输出日期

Date now = new Date();

long time = 60*1000;//60秒

Date afterDate = new Date(now .getTime() + time);//60秒后的时间

Date beforeDate = new Date(now .getTime() - time);//60秒前的时间

System.out.println(sdf.format(afterDate ));

java如何获取当前日期并计算出2个月后的日期

//0、日期输出格式

SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd,HH:mm:ss");

//1、获取当前日期 方式一

Date b = new Date();

System.out.println(f.format(b));

//2、获取当前日期 方式二

Calendar c = Calendar.getInstance();

//可以手动设置日期

//c.set(2011, Calendar.JANUARY, 31);

System.out.println(f.format(c.getTime()));

//3、获取当前日期增加两个月后的日期,

c.add(Calendar.MONTH, 2);

System.out.println(f.format(c.getTime()));