You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python精准获取当前季节?寻求最简实现方案

在Python中精准判断季节的最简方案

不用复杂的占星库,这里提供两种实用方案,兼顾精准度和易用性:

方案一:用ephem轻量天文库(精准推荐)

ephem是专门处理天文计算的轻量库,能精准计算每年的春分、夏至、秋分、冬至日期,完全满足需求,用法也简单。

步骤:

  1. 安装库:
pip install ephem
  1. 实现代码:
import ephem
from datetime import datetime

def get_season(date=None):
    date = date or datetime.now()
    ephem_date = ephem.Date(date)
    year = date.year

    # 获取当年的四个关键天文节点
    spring_eq = ephem.next_equinox(str(year))
    summer_sol = ephem.next_solstice(str(year))
    autumn_eq = ephem.next_equinox(str(year + 1))
    winter_sol = ephem.next_solstice(str(year + 1))

    # 判断季节
    if ephem_date < spring_eq:
        return "冬季"
    elif ephem_date < summer_sol:
        return "春季"
    elif ephem_date < autumn_eq:
        return "夏季"
    elif ephem_date < winter_sol:
        return "秋季"
    else:
        return "冬季"

# 示例调用
print(get_season())  # 输出当前季节
print(get_season(datetime(2024, 12, 22)))  # 冬至,输出冬季

说明:

  • ephem.next_equinox()默认返回当年春分,下一次调用(year+1)则是当年秋分
  • ephem.next_solstice()默认返回当年夏至,下一次调用(year+1)则是当年冬至
  • 自动处理跨年冬季的情况(比如12月到次年2月)

方案二:无第三方库的近似精准方案

如果不想依赖第三方库,可以基于闰年修正的平均天文日期来判断,误差控制在1-2天内,适合大多数场景:

from datetime import datetime

def get_season_no_lib(date=None):
    date = date or datetime.now()
    day_of_year = date.timetuple().tm_yday
    is_leap = date.year % 4 == 0 and (date.year % 100 != 0 or date.year % 400 == 0)

    # 闰年/平年的季节起始日(一年中的第几天)
    spring_start = 80 if is_leap else 79   # 春分:3月20-21日
    summer_start = 172 if is_leap else 171 # 夏至:6月20-21日
    autumn_start = 264 if is_leap else 263 # 秋分:9月22-23日
    winter_start = 355 if is_leap else 354 # 冬至:12月21-22日

    if day_of_year >= winter_start or day_of_year < spring_start:
        return "冬季"
    elif day_of_year < summer_start:
        return "春季"
    elif day_of_year < autumn_start:
        return "夏季"
    else:
        return "秋季"

# 示例调用
print(get_season_no_lib())
print(get_season_no_lib(datetime(2023, 9, 23)))  # 2023年秋分,输出秋季

内容的提问来源于stack exchange,提问作者JeremiahDuane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:21:37