您的位置:

java比较两个时间相差几个月,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得到的就是年数了,

java比较两个时间相差几个月,java计算两个日期相差几个

2022-11-21
Java计算两个日期相差几个月

在Java中可以使用Java 8的java.time API的 `Period.between()` 函数来计算两个日期之间的差距,包括相差的月份。一、使用Period.between()方法Java

2023-12-08
Java计算两个日期相差几个月

在Java中可以使用Java 8的java.time API的 `Period.between()` 函数来计算两个日期之间的差距,包括相差的月份。一、使用Period.between()方法Java

2023-12-08
java比较两个时间的差值,java计算两个时间相差时间

2022-11-21
java日期差,java时间比较年月日差几天

2023-01-03
java时间比较年月日差几天,java比较年月日日期大小

2022-11-17
java逻辑中判断两个日期大小,java判断两个日期相差几个

2022-11-20
php只比较两个日期,php两个日期差几天

2022-11-18
两个时间戳相减php,计算两个时间戳相差几个小时

2022-12-01
java计算时间差,java计算时间差秒

2022-11-29
Oracle两个日期相差天数

2023-05-21
java日期时间小结,java 日期相差多少天

2022-11-20
php计算日期相差天数,php两个日期差数

2022-11-28
Java中两个时间计算时间差的方法

2023-05-21
java获取这个月的第几周,java获取上个月的月份

2023-01-05
Oracle Date Diff函数:计算两个日期之间的时间

2023-05-18
c语言算两个日期相差多少天,两个日期之间差多少天C语言

2022-11-27
两个月学会php,两个月学会高数

2022-11-26
php月份差,php求日期差

2022-11-30
如何计算两个日期之间的差值?

2023-05-16