本文目錄一覽:
- 1、在JAVA中如何算出兩段時間相差的月數 ,
- 2、java 計算兩個日期相差了幾個月
- 3、Java 計算兩個日期相差月數
- 4、java 求兩個日期差幾個月
- 5、java計算兩個時間之間多少個月
- 6、Java比較兩個時間相差多少天,多少個月,多少年
在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 計算兩個日期相差了幾個月
有兩種方式,一種先將兩個日期轉換為long類型的毫秒數(從1970.1.1凌晨到時間點的毫秒數),然後求差diff,相差的月份:1.0*diff/1000/3600/30;還有一種使用jdk提供的Calendar日曆類
Java 計算兩個日期相差月數
pre name=”code” class=”java” /**
* 計算兩個日期之間相差的月數
* @param date1
* @param date2
* @return
*/
private 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;
} /pre
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 date1 日期1
* @param date2 日期2
* @param pattern 日期1和日期2的日期格式
* @return 相差的月份數
* @throws ParseException
*/
public static int countMonths(String date1,String date2,String pattern) throws ParseException{
SimpleDateFormat sdf=new SimpleDateFormat(pattern);
Calendar c1=Calendar.getInstance();
Calendar c2=Calendar.getInstance();
c1.setTime(sdf.parse(date1));
c2.setTime(sdf.parse(date2));
int year =c2.get(Calendar.YEAR)-c1.get(Calendar.YEAR);
//開始日期若小月結束日期
if(year0){
year=-year;
return year*12+c1.get(Calendar.MONTH)-c2.get(Calendar.MONTH);
}
return year*12+c2.get(Calendar.MONTH)-c1.get(Calendar.MONTH);
}
Java比較兩個時間相差多少天,多少個月,多少年
首先全部轉換成毫秒數,然後相減,再除以(1000*60*60*24)得到的是天數!想要月數就再除以30得到的就是月數!想要年數就除以365得到的就是年數了,
原創文章,作者:KHLGR,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/329497.html