我想知道'2014-05-06 12:00:56'和'2012-03-06 16:08:22'之间有多少年、月、日、时、分、秒。结果如下:“差额为xxx年xxx月xxx天xxx小时xxx分钟”
例如:
import datetime
a = '2014-05-06 12:00:56'
b = '2013-03-06 16:08:22'
start = datetime.datetime.strptime(a, '%Y-%m-%d %H:%M:%S')
ends = datetime.datetime.strptime(b, '%Y-%m-%d %H:%M:%S')
diff = start – ends
如果我这样做:
diff.days
它给出了天数的差异。
我还能做些什么?我怎样才能达到我想要的结果?
3条答案
按热度按时间yvgpqqbh1#
使用dateutil package中的
relativedelta
。这将考虑闰年和其他怪癖。您可能需要添加一些逻辑来打印,例如“2 years”而不是“2 year”。
eaf3rand2#
diff是一个
timedelta
示例。对于python2,请参见:https://docs.python.org/2/library/datetime.html#timedelta-objects
对于Python 3,请参阅:https://docs.python.org/3/library/datetime.html#timedelta-objects
来自文档:
timdelta示例属性(只读):
timdelta示例方法:
timdelta类属性为:
您可以使用
days
和seconds
示例属性来计算所需的内容。例如:
ne5o7dgx3#
要计算时间戳之间的差值:
输出:1天19小时19分钟55秒