導航:首頁 > 編程語言 > java中月份差

java中月份差

發布時間:2023-07-28 19:39:59

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 求兩個日期差幾個月

import java.util.Date;
import java.util.Calendar;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.io.PrintStream;

public class DateDiffMonth{
public static void main(String [] argv) throws Exception {
System.out.println(getMonthDiff("1900-10-21", "1901-01-01"));
}
/**
* 得到兩日期相差幾個月
*
* @param String
* @return
*/
public static long getMonthDiff(String startDate, String endDate) throws ParseException {
long monthday;
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Date startDate1 = fmt.parse(startDate);

Calendar starCal = Calendar.getInstance();
starCal.setTime(startDate1);

int sYear = starCal.get(Calendar.YEAR);
int sMonth = starCal.get(Calendar.MONTH);
int sDay = starCal.get(Calendar.DAY_OF_MONTH);

Date endDate1 = fmt.parse(endDate);
Calendar endCal = Calendar.getInstance();
endCal.setTime(endDate1);
int eYear = endCal.get(Calendar.YEAR);
int eMonth = endCal.get(Calendar.MONTH);
int eDay = endCal.get(Calendar.DAY_OF_MONTH);

monthday = ((eYear - sYear) * 12 + (eMonth - sMonth));

//這里計算零頭的情況,根據實際確定是否要加1 還是要減1
if (sDay < eDay) {
monthday = monthday + 1;
}
return monthday;
}
}

天以下,要自己添加判斷

㈢ java 計算兩個日期相差了幾個月

有兩種方式,一種先將兩個日期轉換為long類型的毫秒數(從1970.1.1凌晨到時間點的毫秒數),然後求差diff,相差的月份:1.0*diff/1000/3600/30;還有一種使用jdk提供的Calendar日歷類

㈣ 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 計算兩個日期相差月數

下邊是一個方法

public void monthSpace() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String str1 = "2012-02-01";
String str2 = "2012-02-2";

Calendar bef = Calendar.getInstance();
Calendar aft = Calendar.getInstance();
bef.setTime(sdf.parse(str1));
aft.setTime(sdf.parse(str2));

int result = aft.get(Calendar.MONTH) - bef.get(Calendar.MONTH);
if (result == 0) {
result = 1;
}
System.out.println(result);
}

㈥ 在JAVA中如何算出兩段時間相差的月數 ,

/** * 計算兩個日期之間相差的月數 * * @param date1 * @param date2 * @return */ public static int getMonths(Date date1, Date date2) { int iMonth = 0; int flag = 0; try { Calendar objCalen
/**
* 計算兩個日期之間相差的月數
*
* @param date1
* @param date2
* @return
*/
public static int getMonths(Date date1, Date date2) {
int iMonth = 0;
int flag = 0;
try {
Calendar objCalendarDate1 = Calendar.getInstance();
objCalendarDate1.setTime(date1);

Calendar objCalendarDate2 = Calendar.getInstance();
objCalendarDate2.setTime(date2);

if (objCalendarDate2.equals(objCalendarDate1))
return 0;
if (objCalendarDate1.after(objCalendarDate2)) {
Calendar temp = objCalendarDate1;
objCalendarDate1 = objCalendarDate2;
objCalendarDate2 = temp;
}
if (objCalendarDate2.get(Calendar.DAY_OF_MONTH) < objCalendarDate1
.get(Calendar.DAY_OF_MONTH))
flag = 1;

if (objCalendarDate2.get(Calendar.YEAR) > objCalendarDate1
.get(Calendar.YEAR))
iMonth = ((objCalendarDate2.get(Calendar.YEAR) - objCalendarDate1
.get(Calendar.YEAR))
* 12 + objCalendarDate2.get(Calendar.MONTH) - flag)
- objCalendarDate1.get(Calendar.MONTH);
else
iMonth = objCalendarDate2.get(Calendar.MONTH)
- objCalendarDate1.get(Calendar.MONTH) - flag;

} catch (Exception e) {
e.printStackTrace();
}
return iMonth;
}

閱讀全文

與java中月份差相關的資料

熱點內容
網路數據用不成怎麼回事 瀏覽:135
applepayiphone5 瀏覽:71
word2010製作日歷 瀏覽:491
為什麼微信字顯示不全 瀏覽:761
香港蘋果官網怎麼預定iphone 瀏覽:844
文件目錄索引包括哪些 瀏覽:794
感情不要冷處理的微信個性簽名 瀏覽:54
機器人怎麼在電腦上編程 瀏覽:197
如何辨別購物的網站 瀏覽:13
喜歡編程嗎喜歡什麼語言 瀏覽:841
cad迷你看圖軟體怎麼刪除文件 瀏覽:267
看視頻寫文件格式 瀏覽:2
大數據平台怎麼審綠 瀏覽:398
java打包教程 瀏覽:787
電腦有多少個文件夾 瀏覽:1
dnf86版本極限光強 瀏覽:974
國考資料分析哪裡來的數據 瀏覽:87
文件拷貝到u盤以後md5變化 瀏覽:281
kali中pdf攻擊文件生成 瀏覽:507
專利檢索如何找到最接近對比文件 瀏覽:673

友情鏈接