導航:首頁 > 編程語言 > java兩個date相減

java兩個date相減

發布時間:2023-06-12 13:47:16

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 中 日期如何相加減

Date類的getTime()方法返回long型,單位時毫秒。因此對兩個Date調用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把兩個時間相減

調試過的程序,可以直接運行`!!!!!!

import java.util.Date;

import com.ibm.icu.text.SimpleDateFormat;

public class mss {

public mss() {
}

public long fromDateStringToLong(String inVal) { //此方法計算時間毫秒
Date date = null; //定義時間類型
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-mm-dd hh:ss");
try {
date = inputFormat.parse(inVal); //將字元型轉換成日期型
} catch (Exception e) {
e.printStackTrace();
}
return date.getTime(); //返回毫秒數
}

private static String dqsj() { //此方法用於獲得當前系統時間(格式類型2007-11-6 15:10:58)
Date date = new Date(); //實例化日期類型
String today = date.toLocaleString(); //獲取當前時間
System.out.println("獲得當前系統時間 "+today); //顯示
return today; //返回當前時間
}

public static void main(String[] args) {
String dqsj = dqsj(); //獲得String dqsj = dqsj(); //獲得當前系統時間
mss df = new mss(); //實例化方法

long startT=df.fromDateStringToLong("2005-03-03 14:51:23"); //定義上機時間
long endT=df.fromDateStringToLong("2004-03-03 13:50:23"); //定義下機時間

long ss=(startT-endT)/(1000); //共計秒數
int MM = (int)ss/60; //共計分鍾數
int hh=(int)ss/3600; //共計小時數
int dd=(int)hh/24; //共計天數

System.out.println("共"+dd+"天 准確時間是:"+hh+" 小時 "+MM+" 分鍾"+ss+" 秒 共計:"+ss*1000+" 毫秒");

}

}

這是執行結果``

獲得當前系統時間 2007-11-6 15:57:39
共366天 准確時間是:8785 小時 527100 分鍾31626001 秒 共計:31626001000 毫秒

⑤ java中如何得到兩個時間相差多少小時

比較簡單的方法就是使用.getTime()獲取當前日期的相對毫秒數,再計算差值,最後轉換成你需要的數據;

PS.

RESULT:

1天0小時0分0秒

相隔的小時數:分:秒 - 24:0:0

⑥ 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里日期如何相加減如何計算兩個時間的差值

date1.getTime()-date2.getTime()

⑧ 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相減相關的資料

熱點內容
iphone程序加密 瀏覽:884
win10文件夾調整文件行高 瀏覽:681
創意手繪教程 瀏覽:754
微信刪除帳號信息 瀏覽:596
mysql操作類文件 瀏覽:649
繞過xp密碼 瀏覽:158
大眾速騰專用app有哪些 瀏覽:455
arpa首先將計算機網路劃分為 瀏覽:617
蘋果系統開機音樂 瀏覽:875
windows8顯示隱藏文件 瀏覽:603
ipad2可以升級到92嗎 瀏覽:857
如何打開ps保存的文件 瀏覽:744
幼兒編程教育有哪些 瀏覽:453
汽車發外地用什麼app 瀏覽:810
網路如何贊美女人漂亮 瀏覽:143
如何把桌面文件放到excel裡面 瀏覽:363
照片文件名是怎麼查的 瀏覽:876
c怎麼在cmd模式下顯示文件 瀏覽:325
手機怎麼把文件夾的圖片移到相冊 瀏覽:440
hjc是啥文件的格式 瀏覽:298

友情鏈接