>>> 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
答案 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循环。
希望这有帮助