當前位置:首頁 » 編程語言 » java日期相減

java日期相減

發布時間: 2025-04-15 21:42:48

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實現兩個日期相減得到中間的年份和月份

public class DateSimple {

public static void main(String[] args) {
String startTime = "2012-07-01";
String endTime = "2014-07-31";

String[] arg1 = startTime.split("-");
String[] arg2 = endTime.split("-");
int year1 = Integer.valueOf(arg1[0]);
int year2 = Integer.valueOf(arg2[0]);
int month1 = Integer.valueOf(arg1[1]);
int month2 = Integer.valueOf(arg2[1]);

for (int i = year1; i <= year2; i++) {
int monthCount = 12;
int monthStart = 1;
if (i == year1) {
monthStart = month1;
monthCount = 12-monthStart+1;
} else if (i == year2) {
monthCount = month2;
}
for(int j = 0; j < monthCount; j++){
int temp = monthStart+j;
if(temp >=10){
System.out.println(i+"-"+(monthStart+j));
}else{
System.out.println(i+"-0"+(monthStart+j));
}
}

}
}
}

2012-07
2012-08
2012-09
2012-10
2012-11
2012-12
2013-01
2013-02
2013-03
2013-04
2013-05
2013-06
2013-07
2013-08
2013-09
2013-10
2013-11
2013-12
2014-01
2014-02
2014-03
2014-04
2014-05
2014-06
2014-07

③ 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 如何將日期年份相減

import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Admin {

private static Format f = new SimpleDateFormat("yyyy-MM-dd");

public static void main(String... args) {

Date thisYear = new Date();
System.out.println(formatDate2YYYYMMDD(thisYear));

Date lastYear = lastYear(thisYear);
System.out.println(formatDate2YYYYMMDD(lastYear));
}

private static Date lastYear(Date thisYear) {
Calendar c = Calendar.getInstance();
c.setTime(thisYear);
c.add(Calendar.YEAR, -1);
return c.getTime();
}

private static String formatDate2YYYYMMDD(Date date) {
return f.format(date);
}
}

熱點內容
將電腦的文件上傳到伺服器 發布:2025-04-16 08:10:05 瀏覽:333
sql中between 發布:2025-04-16 07:56:28 瀏覽:769
安卓手機多功能鍵在哪裡 發布:2025-04-16 07:56:27 瀏覽:55
pythondict中文 發布:2025-04-16 07:55:42 瀏覽:465
存儲管理常見問題 發布:2025-04-16 07:53:36 瀏覽:348
python內存大小 發布:2025-04-16 07:37:51 瀏覽:283
安卓還有什麼登錄器 發布:2025-04-16 07:37:49 瀏覽:790
linux怎麼知道root密碼 發布:2025-04-16 07:34:17 瀏覽:70
vb中md5加密資料庫 發布:2025-04-16 07:25:22 瀏覽:1001
androidroot許可權設置 發布:2025-04-16 07:23:09 瀏覽:384