gpt4 book ai didi

python - 不同格式的日期相减并转为Int

转载 作者:行者123 更新时间:2023-11-28 21:52:50 25 4
gpt4 key购买 nike

我之前问过一个类似的问题并得到了一些很好的反馈。我结合了几个答案来得出一个解决方案,但它似乎效率很低。我正在寻找一种更好的方法来以整数形式获取变量 (ts) 和今天之间的总天数。

我的代码:

import datetime
ts = '2015-03-01T17:09:00.000+0000'
ts = ts[:10]
f = '%Y-%m-%d'
date_from_sql = datetime.datetime.strptime(ts, f)
now = datetime.datetime.now()
now = str(now)
now = now[:10]
now = datetime.datetime.strptime(str(now), f)
delta = date_from_sql - now
print delta.total_seconds()/(3600*24)

输出:

67.0

最佳答案

delta.total_seconds()/(3600*24) 不需要,直接使用 .days

from datetime import datetime
now = datetime.now()
ts = '2015-03-01T17:09:00.000+0000'
ts = ts[:10]
f = '%Y-%m-%d'
date_from_sql = datetime.strptime(ts, f)
print(date_from_sql - now).days

如果您不想考虑时间,只需使用日期:

now = datetime.now().date()
ts = '2015-03-01T17:09:00.000+0000'
ts = ts[:10]
f = '%Y-%m-%d'
date_from_sql = datetime.strptime(ts, f).date()
print(date_from_sql - now).days

如果日期字符串有可能采用不同的格式,您可能需要 dateutil :

from dateutil import parser

now = datetime.now().date()
ts = '2015-03-01T17:09:00.000+0000'
ts = parser.parse(ts).date()
print(ts - now).days

关于python - 不同格式的日期相减并转为Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27641929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com