日期时间格式

Datetime formatting

我正在使用的api下单时给定的时间格式如下

'orderDateTime': '2020 年 5 月 12 日 14:54:11'

我想要做的是找到自我下订单以来已经过去的 minutes/seconds 数量。因此,如果已经过了,例如 10 分钟,如果我想取消或修改订单,我可以这样做。

我已经尝试了所有我知道的方法来转换给定的时间格式来做我想做的事情,但没有成功。请帮忙。提前致谢。

time_now = datetime.now() print("Time now is",time_now) t1 = time_now.strftime("%d-%b-%Y %H:%M:%S") print(t1) trade_time = datetime(12-May-2020 15:01:32) t2 = datetime.strftime(trade_time,"%d-%b-%Y %H:%M:%S") print(t2)

您正在混合 datetime 个对象和它们作为字符串的表示。

您需要做的是使用 strptime 方法将交易时间转换为日期时间对象。 strftime 相反,它会生成日期时间的格式化文本表示。

然后,您可以减去两个 datetime 对象,得到 timedelta 的差值,您可以从中得到秒数的差值。

因此,您的代码应如下所示:

from datetime import datetime

time_now = datetime.now()

trade_time_as_str = '12-May-2020 15:01:32'
trade_time = datetime.strptime(trade_time_as_str,"%d-%b-%Y %H:%M:%S")

elapsed = time_now - trade_time
elapsed_seconds = elapsed.total_seconds()

print(elapsed_seconds)
# 15808.77104