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

月份差java

發布時間:2022-05-20 01:31:39

java中怎麼計算兩個日期相差多少個月

給個思路:
int result = 0;
if(year==year1)
{
result=month1-month;//兩個日期相差幾個月,即月份差
}
else
{
result=12*(year1-year)+month1-month;//兩個日期相差幾個月,即月份差
}

㈡ java中計算月份差

方法一:直接計算,先取得兩個日期的年份和月份,月份差=(第二年份-第一年份)*12 + 第二月份-第一月份

方法二:利用java提供的日期類calendar的方法實現,具體實現查查jdk說明吧

㈢ java 怎麼判斷兩個時間月份差

Datedate1=newDate(2015,5,10);
Datedate2=newDate(2016,7,6);
intmonthDiff=(date2.getYear()-date1.getYear())*12+date2.getMonth()-date1.getMonth();

㈣ 在java中計算月份差

年份差=較大時間的年-較小時間的年
if(較大時間的月>較小時間的月){
月份差=年份差*12+(較大時間的月-較小時間的月)
}else if(較大時間的月<較小時間的月){
月份差=(年份差-1)*12+(12-較小時間的月+較大時間的月)
}else{
月份差=年份差*12
}

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

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

㈥ 在java中計算月份差

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class test21 {

public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("輸入第一個年份");
int yearFirst = Integer.parseInt(br.readLine());
System.out.print("輸入第一個月份");
int monthFirst=Integer.parseInt(br.readLine());
System.out.println("輸入第二個年份");
int yearSecond = Integer.parseInt(br.readLine());
System.out.print("輸入第二個月份");
int monthSecond=Integer.parseInt(br.readLine());

int monthsub = (yearFirst-yearSecond)*12+(monthFirst-monthSecond);
System.out.println("相差的月份"+monthsub);
}
}

㈦ java 中 判斷兩個日期月份的差,後面沒有時分秒.比如2013-07-03與2013-09-03 返回值為2

你可以如此計算,
年份差、月份差算出整數部分
小數部分再按剩餘日期、時分秒按其在當月的比例計算
如2012-11-24 14:20:00和2012-5-24 14:20:00
年差為0,月差為6,其他差為0,結果為6.0
若其中出現某差為負數,需調整
如2012-11-24 14:20:00和2012-5-31 14:20:00
年差為0,月差為6,日差為-6,將月差改為5,

即先計算和2012-6-24 14:20:00的差,
2012-6-24 14:20:00到2012-5-31 14:20:00再計算,
可按6月份2012-6-24 14:20:00到2012-6-01 00:00:00 佔6月份比例
再計算5月份2012-5-31 24:00:00到2012-5-31 14:20:00佔5月份比例
兩個比例加起來是小數部分。

㈧ 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月份相減

/**
* @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 pingrunnian() {
int year = 0;
//從組件處得到年份(這里是用下拉菜單做的)
if (jtf3.getSelectedIndex() > 0) {
year = (Integer) jtf3.getSelectedItem();
}
int month = 0;
//從組件處得到月份(這里是用下拉菜單做的)

if (jtf4.getSelectedIndex() > 0) {
month = (Integer) jtf4.getSelectedItem();
}
int day = 0;
switch (month) {
//大月
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
//小月
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
case 2:
if ((0 == year % 400) || (0 == year % 4 && 0 != year % 100)) {
day = 29;
} else {
day = 28;
}
break;
}
//下面的是向組件里添加得到的值的。 上面才是關鍵
//jtf5.removeAllItems();
//jtf5.addItem("DD");
//for (int i = 1; i <= day; i++) {
// jtf5.addItem(i);
}
}

閱讀全文

與月份差java相關的資料

熱點內容
了解什麼是web伺服器 瀏覽:138
面向對象的編程的基本特徵 瀏覽:717
php定時執行任務linux 瀏覽:786
php數組中刪除元素 瀏覽:724
螢石雲伺服器視頻 瀏覽:269
防火牆配置伺服器熱備的虛擬地址 瀏覽:188
linux安裝xdm 瀏覽:736
java計算12 瀏覽:249
大金空調擺動式壓縮機 瀏覽:453
新的雲伺服器如何設置首頁 瀏覽:687
javastring字元位置 瀏覽:197
銀河麒麟字體庫存在哪個文件夾 瀏覽:957
魔獸加丁伺服器的航空叫什麼 瀏覽:152
花冠改裝案例哪個app多 瀏覽:515
成績單app哪個好用 瀏覽:140
北美程序員vs國內程序員 瀏覽:181
php解析xml文檔 瀏覽:121
石墨文檔APP怎麼橫屏 瀏覽:185
牆主鋼筋加密和非加密怎麼看 瀏覽:144
金山區文件夾封套定製 瀏覽:708