Python:将datedelta转换为时间差的int值

v6ylcynt  于 2023-06-04  发布在  Python
关注(0)|答案(5)|浏览(582)

我想将时间增量更改为整数值。
代码如下。

import datetime
now = datetime.date.today()
print(now.toordinal()) # 736570
cali_date = datetime.data(2017, 6, 14)
print(cali_date.toordinal()) # 736494
date1 = now - cali_date
print(date1) # 76 days, 0:00:00

但是,我只想得到整数76。我该如何解决这个问题?谢谢你。

nle07wnf

nle07wnf1#

只需引用timedelta对象的days属性即可:

print(date1.days)

还有timedelta.secondstimedelta.microseconds属性,对完整的delta状态进行建模。

ef1yzkbh

ef1yzkbh2#

date1是一个timedelta对象--使用date1.days获取整数形式的天数,或者使用date1.total_seconds()查看两个datetime对象之间的秒数。

hgc7kmma

hgc7kmma3#

我使用Serie.dt.days。它将Serie的数据类型从“timedelta”更改为“int”,并且时差以整天表示。

jbose2ul

jbose2ul4#

设置一个新变量:

date1 = now - cali_date
date_int = date1

print(type(date_int))
# <class 'int'>
wkyowqbh

wkyowqbh5#

对我来说,上面的解决方案都没有完全奏效。在我确保两个日期都具有日期时间格式之后,它们的差异现在也具有日期时间格式。然后使用.days按预期工作。

date1 = pd.to_datetime(now) - pd.to_datetime(cali_date) 
print(date1) # 2179 days 00:00:00
date1  = date1.days 
print(date1) #2179

相关问题