python 计算两个日期相差多少个月
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 计算两个日期相差多少个月相关的知识,希望对你有一定的参考价值。
不同意最佳回答的看法。题主只是问怎么计算, 并没有要求用什么方法, 现成模块也是别人写的, 我们也可以自己造轮子不是?
# coding=utf-8import datetime
x = datetime.datetime(2011, 12, 20)
y = datetime.datetime(2014, 10, 13)
def month_differ(x, y):
"""暂不考虑day, 只根据month和year计算相差月份
Parameters
----------
x, y: 两个datetime.datetime类型的变量
Return
------
differ: x, y相差的月份
"""
month_differ = abs((x.year - y.year) * 12 + (x.month - y.month) * 1)
return month_differ
print(month_differ(x, y)) 参考技术A python没有直接调用方法计算月数的模块。。。time,datetime,calendar都没有
在JAVA中如何算出两段时间相差的月数 ,
在JAVA中如何算出两段时间之间相差的月数 ,
比如2009-12-10到2010-5-10之间相差多少个月 怎么搞 啊 ??急!急!急!
/**
* 计算两个日期之间相差的月数
*
* @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;
参考技术A 用字符串截取两个时间的月份再相减
int first=time1.indexOf("-");
int last=time1.lastIndexOf("-");
int month1=time1.subString(first+1,last);//第一个时间的月份,第二个如上,再相减。 参考技术B public static int calculateMonthIn(Date date1, Date date2)
Calendar cal1 = new GregorianCalendar();
cal1.setTime(date1);
Calendar cal2 = new GregorianCalendar();
cal2.setTime(date2);
int c =
(cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR)) * 12 + cal1.get(Calendar.MONTH)
- cal2.get(Calendar.MONTH);
return c;
本回答被提问者采纳 参考技术C 翻翻api,肯定有这么个方法,不用自个写的
以上是关于python 计算两个日期相差多少个月的主要内容,如果未能解决你的问题,请参考以下文章