首页 > 解决方案 > 日期时间格式

问题描述

当我下订单时,我正在使用的 api 提供时间是以下格式。

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

我要做的是找到自下订单以来经过的分钟/秒数。因此,如果它已经是例如 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)

标签: pythonpython-datetime

解决方案


您将datetime对象及其表示形式混合为字符串。

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

然后,您可以减去两个 datetime 对象,这将为您提供差异 a 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

推荐阅读