使用python计算持续时间

时间:2017-07-04 06:33:35

标签: python date time difference date-difference

>>> M1
['month:12;year:2006', 'month:7;year:2010']
>>> M2
['month:5;year:2006', 'month:3;year:2010']
>>> M3
['year:2006'; 'month:4;year:2010']

我有3个列表项M1, M2, M3

M1[0] is the Start date 
M2[0] is the End date

是否可以通过这种方式转换列表并执行计算

M1 = 12/2006, 7/2010
M2 = 5/2006, 3/2010
M3 = 0/2006, 4/2010

我想要的是在几个月内计算它们之间的差异,

M1Diff = 43 months
M2Diff =  52 months
M3Diff = 51 months

1 个答案:

答案 0 :(得分:1)

我将以第一种方式展示如何实现它,同样可以实现

def diff_month(d1, d2):
    return abs((d1.year - d2.year) * 12 + d1.month - d2.month)


M1=['month:12;year:2006', 'month:7;year:2010']
d1 = datetime.strptime(M1[0], 'month:%m;year:%Y')
d2 = datetime.strptime(M1[1], 'month:%m;year:%Y')

diff_month(d1, d2)

在这个方法中,只需对所有日期集合使用for循环。

希望这有帮助