「日期减法java」日期减法怎么计算
本篇文章给大家谈谈日期减法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 两个日期相减的怎么做?
对已日期相减,最高效的做法就是将二者都转换成毫秒,相减之后再根据你的需求进行单位转换,比如你想显示相差的秒数,就除以1000,以此类推,翠花,上代码:
/* 随便选两个时间 */
String d1 = "2015-04-17";
String d2 = "2015-06-17";
/* 先转成毫秒并求差 */
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
long m = sdf.parse(d2).getTime() - sdf.parse(d1).getTime();
/* 根据你的需求进行单位转换 */
System.out.println("相差毫秒数:"+ m );
System.out.println("相差天数:"+ ( m / (1000 * 60 * 60 * 24) ) );
要注意的地方:
时间格式可能有很多种,比如20150611或者2015年6月11日等等。所以你需要以对应的方式来初始化SimpleDateFormat对象。
例如20150611,就要写成:
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat类是非线程安全的,所以在高并发下需要加同步锁,否则会出现灵异事件。
java中如何实现日期相减
求两个日期之间相隔的天数:
Java代码示例:
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");
java.util.Date beginDate= format.parse("2007-12-24");
java.util.Date endDate= format.parse("2007-12-25");
long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);
System.out.println("相隔的天数="+day);
关于日期减法java和日期减法怎么计算的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。