1

我正在尝试计算两个日期之间的天数:

第一次约会:

date = datetime.datetime.today() # {datetime} 2018-09-17 14:42:06.506541

第二个日期,从数据框中提取:

date2 = data_audit.loc[(data_audit.Audit == audit), 'Erledigungsdatum'].values[0]
# {datetime64} 2018-07-23T00:00:00.000000000

错误:

ufunc 减法不能使用类型为 dtype('O') 和 dtype('M8[ns]') 的操作数

我的下一次尝试是:

date = np.datetime64(datetime.datetime.now()) # {datetime64} 2018-09-17T14:48:16.599541

这导致了以下错误(我将日期作为函数中的参数传递):

输入类型不支持 ufunc 'bitwise_and',并且根据转换规则 ''safe'' 无法安全地将输入强制转换为任何支持的类型

我应该如何解决这个问题?第二个对我来说似乎更合乎逻辑,但我不明白为什么我不能将简单的日期传递给函数。

4

2 回答 2

0

让我们尝试这种方法

import datetime
date  = datetime.datetime.today()
date2 = '2018-07-23'#here could be your date converted to proper type
date2 = datetime.datetime.strptime(date2, '%Y-%m-%d')
difference = date- date2
difference = difference.days

您也可以应用于df.some_col_with_difference.astype('timedelta64[D]')数据框中的整列

于 2018-09-17T13:27:13.807 回答
0

我相信这样的事情应该适合你:

import datetime
import numpy as np

# earlier being of type datetime64
earlier = np.datetime64(datetime.datetime.today())
# Converting datetime64 to datetime
earlier = earlier.astype(datetime.datetime)
now = datetime.datetime.today()

print(now-earlier)
于 2018-09-17T13:00:50.563 回答