发布网友 发布时间:2022-04-23 05:44
共2个回答
热心网友 时间:2022-04-18 10:27
调用delta的days属性即可得到int值
如:
data1=datetime.datetime.strptime("2019-01-12", "%Y-%m-%d")
data2=datetime.datetime.strptime("2019-03-12", "%Y-%m-%d")
delta=data2-data1
interval=delta.days
print(type(interval),interval)
结果如下:
热心网友 时间:2022-04-18 11:45
>>> import datetime>>> a=datetime.timedelta(days=225,hours=12) #你说的225天12小时>>> b=datetime.timedelta(days=83,hours=7) #你说的83天7小时>>> a-b #直接减去,得到datetime.timedelta(142, 18000) #表示142天18000秒>>> a/20 #a除以20,得到datetime.timedelta(11, 23760) #表示11天23760秒>>> c=a/20>>> print(repr(c.days)+"天"+repr(c.seconds/3600)+"小时")11天6.6小时
timedelta可以通过day属性获取天数,这个天数就是int型了,天数除以30就能得到月份了。
刚好最近也在看这个例子,data['LOAD_TIME']-data['FFP_DATE'] 得到的是一个datedelta类型的series,series是没有days属性的。
通过遍历可以将他全部转换成月:for i in data['LOAD_TIME']-data['FFP_DATE'] :
int( i.days/30)
就可以得到月份了。