❶ 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()方法後相減並除以相應數字換算單位即可。