java计算两个时间之间多少个月

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(year<0)
year=-year;
return year*12+c1.get(Calendar.MONTH)-c2.get(Calendar.MONTH);


return year*12+c2.get(Calendar.MONTH)-c1.get(Calendar.MONTH);
参考技术A 两个时间为字符串格式时:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date begin=sdf.parse(beginDate);
Date end=sdf.parse(endDate);
int months=(end.getYear()-begin.getYear())*12+(end.getMonth()-begin.getMonth());
两个时间为日期格式时:
int months=(end.getYear()-begin.getYear())*12+(end.getMonth()-begin.getMonth());
参考技术B

JodaMonth .

DateTime start = new DateTime(startDate.getTime());
DateTime end= new DateTime(endDate.getTime());
int months = Months.monthBetween(start, end).getMonths();

参考技术C 这两个时间是什么格式的

在 C# 中计算两个月历之间的时间段

【中文标题】在 C# 中计算两个月历之间的时间段【英文标题】:calculate period between two monthcalender in C# 【发布时间】:2009-08-29 13:54:54 【问题描述】:

我在 C# win 应用程序中有两个月历,我需要计算两个月历之间的时间。

我需要两三个月或几年之间有多少天

我需要两个不同年份之间的几个月。

当我使用时:

月历.selectstart.month;

这个命令只是计算同年月份之间的差异,但是当移动到明年时,这个值是负数。

几天都一样,我用:

monthcalender.selectstart.dayofyear;

【问题讨论】:

【参考方案1】:

monthcalendar.SelectionStart 是一个DateTime 结构,您可以使用它进行计算。减去两个日期将得到一个TimeSpan 结构,它具有各种应该对您有用的属性。

TimeSpan timeBetween = calendar1.SelectionStart - calendar2.SelectionStart;
MessageBox.Show("Days between dates: " + timeBetween.TotalDays);

如果您想使用 DateTime 的 Month 属性,您可以执行以下操作:

DateTime d1 = calendar1.SelectionStart;
DateTime d2 = calendar2.SelectionStart;
ints monthsBetween = d1.Month + d1.Year * 12 - d2.Month - d2.Year * 12;

不过,这样一来月份的日子就不在等式了。

【讨论】:

以上是关于java计算两个时间之间多少个月的主要内容,如果未能解决你的问题,请参考以下文章

java中如何计算出两个日期之间相差多少天

在 C# 中计算两个月历之间的时间段

Java 8计算两个日期之间的月份

php 计算两个日期相隔多少年,多少月,多少天

js 两个日期间隔月数

在JAVA中如何算出两段时间相差的月数 ,