gpt4 book ai didi

Python:如何查看今年给定的月份和日期是否已经过去?

转载 作者:行者123 更新时间:2023-11-30 23:28:05 25 4
gpt4 key购买 nike

今天是 2 月 16 日。我有一个字符串 23 Mar。如何检查我的字符串是在当天之前还是之后?

我有一个文件列表,附有最后修改日期。他们只有日和月,没有年。如果该日期已经过了今年(例如 16/01),则年份应为 2014 年,如果没有(例如 30/12),则年份应为 2013 年。

最佳答案

使用 datetime.datetime.strptime() 将字符串解析为 datetime 对象,但由于您的日期字符串没有附加年份,因此请附加当前年份:

import datetime

today = datetime.date.today()
yourdate = datetime.datetime.strptime(inputstring, '%d %b')
yourdate = yourdate.date().replace(year=today.year)

if yourdate >= today:
# date not before today, attach *last* year
yourdate = yourdate.replace(year=today.year - 1)

我在这里也将 datetime 对象转换为 date 对象,因为我们只需要讨论日期。

这确实假设您的日期字符串始终采用英文形式day-of-the-month Month-abbreviated

演示:

>>> import datetime
>>> inputstring = '23 Mar'
>>> today = datetime.date.today()
>>> yourdate = datetime.datetime.strptime(inputstring, '%d %b')
>>> yourdate = yourdate.date().replace(year=today.year)
>>> yourdate
datetime.date(2014, 3, 23)
>>> yourdate >= today
True

关于Python:如何查看今年给定的月份和日期是否已经过去?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21809022/

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