减去日期,只减去天数

时间:2020-05-14 21:45:20

标签: python datetime

 #Under d.types i can confirm they are both datetime objects
 date1      datetime64[ns]
 date2      datetime64[ns]

enter image description here

 df_test['snaptoexpectedStart'] = df['date1'] - df['date2']
 TypeError: '<' not supported between instances of 'str' and 'int'

我不明白为什么我试图相减的两列都使用正确的格式时会出现此错误。

2 个答案:

答案 0 :(得分:0)

我猜想它与我猜想的日期时间格式有关,请尝试以这种方式进行转换以查看其是否有效:

from datetime import datetime
df_test['snaptoexpectedStart'] = datetime(df['date1']) - datetime(df['date2'])

如果您只想获取天数,请尝试以下操作:

df_test['snaptoexpectedStart'] = (df_test['date1'] - df_test['date2Date']).dt.days

答案 1 :(得分:0)

您可能想研究timedelta类: 根据该API,减去两个日期时间(假设它们是datetime.datetime)会产生一个timedelta对象。然后,您可以使用.day的{​​{1}}属性来获得天数差异。