首页 > 解决方案 > 无法找到两个日期时间变量之间的差异

问题描述

我试图在 python 中找到两个日期时间变量的差异

我尝试使用两个变量的直接差异,尝试使用 strptime() 函数

from datetime import datetime
time = datetime.now()
#timestamp variable gets time value from database
print "time 1:" + str(timestamp)
print "time 2:" + str(time)
#diff = timestamp-time; #already tried
#diff = datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S") - datetime.strtime(time, "%Y-%m-%d %H:%M:%S") # already tried
diff= datetime.datetime(timestamp, "%Y-%m-%d %H:%M:%S") - datetime.datetime(time, "%Y-%m-%d %H:%M:%S")
print diff

期望以秒为单位的输出,实际结果是类型错误

标签: pythondatetime

解决方案


您可以使用total_seconds()ondatetime.timedelta在几秒钟内获得差异:

diff = (timestamp-time).total_seconds()

代码

from datetime import datetime

timestamp = '2019-04-01 07:12:00'
time = '2019-04-01 07:11:0'

print("time 1:" + str(timestamp))
print("time 2:" + str(time))

timestamp = datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S")
time = datetime.strptime(time, "%Y-%m-%d %H:%M:%S")

diff = (timestamp-time).total_seconds()

print(diff)
# 60.0

推荐阅读