python - 如何让所有日期到某个日期?
问题描述
例如,我在 python 中有一个日期列表
dates = ["01/03/2010", "02/11/2010", "05/12/2010", "21/12/2010"]
dd/mm/yyyy
格式。然后我有一个截止日期"30/11/2010"
,所以我想要"30/11/2010"
从日期开始的所有日期,所以输出将是
["01/03/2010", "02/11/2010"]
我曾尝试搜索类似的问题,但它们似乎都在迭代日期范围。有什么办法可以在 Python 中完成吗?
解决方案
如果您对日期做任何事情而不是立即再次打印它们,您可能希望将它们转换为date
对象。
import datetime as dt
dates = ["01/03/2010", "02/11/2010", "05/12/2010", "21/12/2010"]
parsed_dates = [dt.datetime.strptime(d, "%d/%m/%Y").date() for d in dates]
filtered_dates = [d for d in parsed_dates if d <= dt.date(2010, 11, 30)]
output_dates = [d.strftime("%d/%m/%Y") for d in filtered_dates]
print(", ".join(output_dates))
推荐阅读
- html - HTML数据未在谷歌电子表格中提取
- css - 这些 CSS 选择器语法是否等效?
- java - 获取 PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException
- numpy - numpy数组中是否存在元素?
- microsoft-dynamics - 单一报告 - NAV 2016 中的多个设计?
- angular - mxGraph 及其与 Angular 8 的类型集成
- amazon-web-services - 在 AWS ECS 上托管的应用程序的响应中隐藏服务器签名或令牌
- icons - AppleScript 图标分辨率
- python - Gensim Word2Vec 模型通过增加 epoch 的数量变得更糟
- python - 类数如何影响 YOLO 网络中的速度 FPS