python - Python // 通过与今天日期的比较从数组中过滤掉某些日期
问题描述
我有这个日期列表:
['2020-03-17 12:00:00', '2020-03-17 15:00:00', '2020-03-17 18:00:00', '2020-03-17 21:00:00', '2020-03-18 00:00:00', '2020-03-18 03:00:00', '2020-03-18 06:00:00', '2020-03-18 09:00:00', '2020-03-18 12:00:00', '2020-03-18 15:00:00', '2020-03-18 18:00:00', '2020-03-18 21:00:00', '2020-03-19 00:00:00', '2020-03-19 03:00:00', '2020-03-19 06:00:00', '2020-03-19 09:00:00', '2020-03-19 12:00:00', '2020-03-19 15:00:00', '2020-03-19 18:00:00', '2020-03-19 21:00:00']
它包含每个间隔 3 小时的时间和截至 2020 年 3 月 19 日的多个日期,格式为 YYYY-MM-DD HH-MM-SS。
使用日期我可以获得今天的日期,现在我想将今天的日期与我上面的列表进行比较,并获取与今天的当前日期和明天匹配的所有日期,即:今天是 2020-03-17,我想获取所有日期他们的时间与今天和明天的日期相匹配,即 2020-03-17 和 2020-03-18
from datetime import date
current_date = date.today()
这是一个用于天气 api 请求的 Python 小型实践项目。(我是python新手,一直在研究这个问题,很难得到结果,最好在这里问一下,对你们来说可能是浪费时间,但对你有很大帮助~)
谢谢!
解决方案
您可以预先定义今天和明天的日期,遍历列表中的字符串,使用 适当地解析它们datetime.strptime
,然后查看日期部分是否与今天或明天的日期匹配:
from datetime import datetime, timedelta
today = datetime.today().date()
tomorrow = today + timedelta(days=1)
out = []
for i in l:
date = datetime.strptime(i, '%Y-%m-%d %H:%M:%S').date()
if date == today or date == tomorrow:
out.append(i)
print(out)
['2020-03-17 12:00:00',
'2020-03-17 15:00:00',
'2020-03-17 18:00:00',
'2020-03-17 21:00:00',
'2020-03-18 00:00:00',
'2020-03-18 03:00:00',
'2020-03-18 06:00:00',
'2020-03-18 09:00:00',
'2020-03-18 12:00:00',
'2020-03-18 15:00:00',
'2020-03-18 18:00:00',
'2020-03-18 21:00:00']
推荐阅读
- javascript - 使用 React-Native-Gifted-Chat 时如何隐藏 Android 键盘?
- entity-framework-core - 告诉 ef core migrations 来获取我的自定义迁移
- flutter - 交互式查看器缩放图像不起作用
- selenium-ide - 为部分文本匹配断言文本
- html - 将 div 移动到导航栏的右侧
- python - 使用第二列的百分比变化填充列中的空值,同时按多列分组
- url - 自定义 url scipt 或 wordpress 插件
- php - 站点地图优先级动态设置 PHP
- python-3.x - 使用 psycopg2 将 git 修订哈希 (SHA-1) 写入 PostgreSQL 数据库
- python - 如何在单个栏中绘制时间线?