【发布时间】:2019-01-08 19:54:27
【问题描述】:
from datetime import datetime as dt
我有 2 个日期时间字段
dt.now() 返回2019-01-08 11:46:26.035303
这是太平洋标准时间
x 是我的数据集
x['CreatedDate'] 返回 2019-01-08T20:35:47.000+0000
dt.strptime(x['CreatedDate'.split('.')[0],'%Y-%m-%dT%H:%M:%S)) - datetime.timedelta(hours=8) 返回2019-01-08 08:43:33
我减去这两个,
tdelta = dt.now() - (dt.strptime(x['CreatedDate'.split('.')[0],'%Y-%m-%dT%H:%M:%S)) - datetime.timedelta(hours=8))
这是 2019-01-08 11:46:26.035303 - 2019-01-08 08:43:33
差异应该是〜3小时,但我得到的结果是-1 day, 11:02:53.039790
-13H 12M 53S
我对返回的内容感到困惑。
【问题讨论】:
-
我看不出这段代码是如何工作的,因为您的格式字符串
%Y-%m-%dT%H:%M:%S包含一个T分隔日期和小时字段,但您的日期字符串2019-01-08 08:43:33没有 @987654330 @。您的日期字符串也有微秒作为最后一个字段,但您的日期格式没有该字段。 -
如果您发布的代码显示了如何分配日期时间变量以及如何减去它们,这可能很容易解决。例如,
x = datetime.now()、y = datetime.strptime('2019-01-08 08:43:33','%Y-%m-%d %H:%M:%S')、diff = x - y
标签: python datetime python-datetime