gpt4 book ai didi

python - 使用日期时间在Python中确定给定时间戳的季节

转载 作者:行者123 更新时间:2023-12-03 07:22:23 25 4
gpt4 key购买 nike

我想使用日期时间模块(而不是时间)从时间戳中仅提取月份和日期,然后根据固定日期确定它是否属于给定季节(秋季、夏季、冬季、 Spring )至日和春分。

例如,如果日期在 3 月 21 日至 6 月 20 日之间,则为 Spring 。与年份无关。我希望它只查看月份和日期,而忽略计算中的年份。

我在使用这个时遇到了麻烦,因为 the month is not being extracted properly from my data , for this reason .

最佳答案

if the date falls between March 21 and June 20, it is spring. Regardless of the year. I want it to just look at the month and day and ignore the year in this calculation.

#!/usr/bin/env python
from datetime import date, datetime

Y = 2000 # dummy leap year to allow input X-02-29 (leap day)
seasons = [('winter', (date(Y, 1, 1), date(Y, 3, 20))),
('spring', (date(Y, 3, 21), date(Y, 6, 20))),
('summer', (date(Y, 6, 21), date(Y, 9, 22))),
('autumn', (date(Y, 9, 23), date(Y, 12, 20))),
('winter', (date(Y, 12, 21), date(Y, 12, 31)))]

def get_season(now):
if isinstance(now, datetime):
now = now.date()
now = now.replace(year=Y)
return next(season for season, (start, end) in seasons
if start <= now <= end)

print(get_season(date.today()))

它是 @Manuel G answer 的扩展版本支持任何一年。

关于python - 使用日期时间在Python中确定给定时间戳的季节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16139306/

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