❶ java时间加减
1.用java.util.Calender来实现
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//让日期加1
System.out.println(calendar.get(Calendar.DATE));//加1之后的日期Top
2.用java.text.SimpleDateFormat和java.util.Date来实现
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() - 2 * 24 * 60 * 60 * 1000)));
System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + 3 * 24 * 60 * 60 * 1000)));
GregorianCalendar gc=new GregorianCalendar();
gc.setTime(new Date);
gc.add(field,value);
value为正则往后,为负则往前
field取1加1年,取2加半年,取3加一季度,取4加一周
取5加一天....
❷ java里日期如何相加减如何计算两个时间的差值
date1.getTime()-date2.getTime()
❸ java 中 日期怎么相加减
JAVA Calendar类提供了2个方法:add() 和 roll()。
Calendar cal = Calendar.getInstance();
add(f, delta) 将 delta 添加到 f 字段中。这等同于调用 set(f, get(f) + delta),
roll(f, delta) 将 delta 添加到 f 字段中,但不更改专更大的属字段。这等同于调用 add(f, delta)
如果要计算2个日期之间的差距,可以取得自1970 年 1 月 1 日的 00:00:00.000各自的毫秒数字,然后相减
long millionSecondsForDate1 = date1.getTime();
long millionSecondsForDate2 = date2.getTime();
long julianSeconds = millionSecondsForDate1 - millionSecondsForDate2 ;
然后你可以转化为你想要得时间,注意毫秒和秒之间进位是1000
1秒 = 1000毫秒
❹ 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 如何将日期年份相减
假设有两个日期。第一个日期为:2012年9月13日2时3分4秒第二个日期为:2012年8月12日0时0分0秒求二者的时间差的代码如下 import java.text.Simple
❻ java 两个日期相减的怎么做
对已日期相减,最高效的做法就是将二者都转换成毫秒,相减之后再根据你的需求进行单位转换,比如你想显示相差的秒数,就除以1000,以此类推,翠花,上代码:
/*随便选两个时间*/
Stringd1="2015-04-17";
Stringd2="2015-06-17";
/*先转成毫秒并求差*/
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
longm=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,就要写成:
SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMdd");
SimpleDateFormat类是非线程安全的,所以在高并发下需要加同步锁,否则会出现灵异事件。
❼ java 两个时间相减
先转成Date 再获取毫秒数来减
java.text.SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
java.util.Calendarc=Calendar.getInstance();
Stringdate1="2014-10-1000:00:00";
Stringdate2="2015-10-1000:00:00";
c.setTime(sdf.parse(date1));
inty1=c.get(Calendar.YEAR);
intm1=c.get(Calendar.MONTH);
c.setTime(sdf.parse(date2));
inty2=c.get(Calendar.YEAR);
intm2=c.get(Calendar.MONTH);
inty=Math.abs(y2-y1);
intm=y*12+Math.abs(m1-m2);
longd1=sdf.parse(date1).getTime();
longd2=sdf.parse(date2).getTime();
intd=(int)(Math.abs(d2-d1)/(1000*60*60*24));
System.out.println("相差年:"+y);
System.out.println("相差月:"+m);
System.out.println("相差天:"+d);
❽ 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 中 日期如何相加减
Date类的getTime()方法返回long型,单位时毫秒。因此对两个Date调用getTime()方法后相减并除以相应数字换算单位即可。