我想使用日期时间模块(不是时间)从时间戳中仅提取月份和日期,然后根据冬至的固定日期确定它是否属于给定季节(秋季、夏季、冬季、春季)和分点。
例如,如果日期介于 3 月 21 日和 6 月 20 日之间,则为春季。不分年份。我希望它只查看月份和日期,而忽略此计算中的年份。
我一直在使用它时遇到麻烦,因为 没有从我的数据中正确提取月份, 出于这个原因。
原文由 Dan 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想使用日期时间模块(不是时间)从时间戳中仅提取月份和日期,然后根据冬至的固定日期确定它是否属于给定季节(秋季、夏季、冬季、春季)和分点。
例如,如果日期介于 3 月 21 日和 6 月 20 日之间,则为春季。不分年份。我希望它只查看月份和日期,而忽略此计算中的年份。
我一直在使用它时遇到麻烦,因为 没有从我的数据中正确提取月份, 出于这个原因。
原文由 Dan 发布,翻译遵循 CC BY-SA 4.0 许可协议
仅使用年份参数可能更容易。它与您的方法没有太大不同,但可能比幻数更容易理解。
# get the current day of the year
doy = datetime.today().timetuple().tm_yday
# "day of year" ranges for the northern hemisphere
spring = range(80, 172)
summer = range(172, 264)
fall = range(264, 355)
# winter = everything else
if doy in spring:
season = 'spring'
elif doy in summer:
season = 'summer'
elif doy in fall:
season = 'fall'
else:
season = 'winter'
原文由 jheddings 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
它是支持任何年份的 @Manuel G 答案 的扩展版本。