㈠ java 中 日期如何相加減
Date類的getTime()方法返回long型,單位時毫秒。因此對兩個Date調用getTime()方法後相減並除以相應數字換算單位即可。
㈡ java月份相減
/**
* @param args
*/
野哪public static Integer getDiffNum(Date startMonth,Date endMonth){
Integer monthNum = 0;
Integer yearNumber = 0;
Calendar startCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();
皮伍 startCalendar.setTime(startMonth);
endCalendar.setTime(endMonth);
yearNumber = endCalendar.get(endCalendar.YEAR) - startCalendar.get(endCalendar.YEAR);
monthNum = endCalendar.get(Calendar.MONTH) - startCalendar.get(Calendar.MONTH);
return yearNumber*12 + monthNum;
}
燃脊或
已經測試
㈢ java 如何將日期年份相減
假設有兩個日期。第一個日期為:2012年9月13日2時3分4秒第二個日期為:2012年8月12日0時0分0秒求二者的時間差的代碼如下 import java.text.Simple
㈣ java中如何判斷兩個日期相差一個整月
一樓的回答太局限了,如果用秒來判斷沒什麼精確度,因為一個月有30,31,28,29這樣判斷版太累
用Calendar類就輕松精確多了權
Date轉Calendar的類的方法 Calendar的方法setTime(Date d)
如何比較兩個Calendar呢
Calendar的get(Field)方法可以取出年,月,日等等你想要的任何數據
你只需要判斷get(Calendar.YEAR)和get(Calendar.DAY_OF_YEAR)是否相等
在判斷get(Calendar.MONTH)的值是否相差為1即可
Calendar是sun推出的專門針對日期的處理,比較的類,有興趣你可以看看API
㈤ 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按照時間查詢,獲取近1月時間信息。時間如何加減簡單易懂,謝謝了。
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)));
㈦ java實現兩個日期相減得到中間的年份和月份
沒有編譯環境,提供一下思路:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Calendar calendar = Calendar.getInstance();//日歷對象
calendar.setTime(date1);//設置起始日期
while(calendar.getTime() <= date2)
{
System.out.println(sdf.format(calendar.getTime()));
calendar.add(Calendar.MONTH, 1);//月份加一
}
㈧ 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類是非線程安全的,所以在高並發下需要加同步鎖,否則會出現靈異事件。