时间日期 · 公农历

二十四节气

任意年节气精确时刻/三候

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 57 次使用
今天所处节气
距下一节气

黄道二十四节气环

360° 黄道 24 等分 · 当前 / 下一节气高亮

二十四节气全表

按四季分组 · 每季 6 节气 · 含黄经
春 季
夏 季
秋 季
冬 季
第一节

关于本工具

About

立春在即,翻黄历和查手机天气 App 给的节气时刻常常差出十几分钟——前者用固定日期,后者只显示日期。输入任意年份,这个工具给出二十四节气精确到秒的太阳黄经到达时刻,以及对应的七十二候物候描述。数据基于天文算法计算,不依赖网络,结果在服务端生成后直接返回。

使用场景

婚期选定吉日

老家习俗要求婚礼必须在立春之后、雨水之前,且避开与新人属相相冲的时辰。翻老黄历只能看到当天吉凶,无法精确到具体节气交节时刻。用本工具输入任意年份,直接查出立春的精确到秒的交节时间,再结合三候表确认当天是否处于'东风解冻'的物候期内,让婚期选定有据可依。

茶园采摘排班

明前茶采摘窗口极短,谷雨前三天和后三天的茶叶品质差异明显,直接影响收购价。茶园主需要提前两个月排好采茶工的轮班计划,但节气时刻每年浮动,靠经验估算容易错过最佳采摘日。本工具能一键生成当年谷雨节气的精确时刻,让排班精确到天,确保每批茶叶都在最佳物候期内采摘。

太阳能板倾角调整

分布式光伏电站的发电效率与太阳高度角直接相关,春分和秋分是调整太阳能板倾角的基准日。运维人员需要知道当年春分的确切时刻,以便在当天完成倾角校准。本工具提供任意年份春分节气的精确到秒的时刻,配合当地经纬度,让倾角调整有精确的时间锚点,避免因日期误差导致发电量损失。

中药采收计划

某药厂采购的艾草要求必须在端午前后三天内收割,此时挥发油含量最高。但端午对应的芒种节气时刻每年不同,提前或推迟收割都会影响药效成分。采购员用本工具查当年芒种节气的精确时刻,再结合三候表确认'螳螂生'的物候期是否已到,以此制定采收通知,确保批次质量稳定。

异地装修开工

老家的房子装修,父母坚持要按农历择日开工,但自己在外地没法翻老黄历。电话里父母说'惊蛰后第三天',但惊蛰每年时刻不同,且不同时区换算复杂。用本工具输入年份,直接查出惊蛰的北京时间精确时刻,再换算成老家时区,避免因时间误差导致开工时辰不对,让远距离装修决策有精确参考。

对比矩阵

维度本工具在线万年历传统纸质历书
年份范围任意年(含公元前)通常 1900–2100仅当年或指定年份
精确时刻显示到秒多数只显示日期无时刻
三候内容列出每节气三候无此信息部分老历书有但简略
离线可用浏览器端计算,无需网络需联网加载完全离线
速度即时出结果依赖网络延迟需手动翻查
第二节

使用指南

Getting Started

使用步骤

  1. 1在年份输入框键入目标年份(如 2025),页面立即显示该年全部二十四节气的公历日期与精确时刻
  2. 2点击任一节气行(如「立春」),下方展开该节气的三候描述与物候特征
  3. 3切换「列表」与「表格」视图,表格视图额外显示各节气对应的太阳黄经度数
  4. 4点击节气行末尾的「复制」图标,将节气名称与时刻以文本格式存入剪贴板

输入输出示例

输入输出说明
2025小寒:01月05日 10:32 大寒:01月20日 03:59 立春:02月03日 22:10 雨水:02月18日 18:06 惊蛰:03月05日 16:07 春分:03月20日 17:01 清明:04月04日 20:48 谷雨:04月20日 03:55 立夏:05月05日 13:56 小满:05月21日 02:54 芒种:06月05日 17:09 夏至:06月21日 10:42 小暑:07月07日 04:05 大暑:07月22日 21:15 立秋:08月07日 13:37 处暑:08月23日 04:21 白露:09月07日 16:37 秋分:09月23日 01:54 寒露:10月08日 08:07 霜降:10月23日 11:13 立冬:11月07日 11:20 小雪:11月22日 08:46 大雪:12月07日 04:04 冬至:12月21日 21:48常规:输入一个常见公历年份,输出该年全部24个节气的精确日期和时刻(北京时间),验证基本查询功能是否完整、时间格式是否统一。
2024小寒:01月06日 04:49 大寒:01月20日 22:07 立春:02月04日 16:27 雨水:02月19日 12:13 惊蛰:03月05日 10:23 春分:03月20日 11:06 清明:04月04日 15:02 谷雨:04月19日 21:59 立夏:05月05日 08:10 小满:05月20日 20:59 芒种:06月05日 12:10 夏至:06月21日 04:51 小暑:07月06日 22:20 大暑:07月22日 15:44 立秋:08月07日 08:09 处暑:08月22日 22:55 白露:09月07日 11:11 秋分:09月22日 20:44 寒露:10月08日 02:59 霜降:10月23日 06:14 立冬:11月07日 06:20 小雪:11月22日 03:56 大雪:12月06日 23:17 冬至:12月21日 17:20边界:2024年是闰年,验证闰年对节气时间计算的影响(2月29日存在,节气时刻是否仍准确),同时检查2月节气(立春、雨水)的输出是否正常。
1900小寒:01月06日 03:54 大寒:01月20日 21:14 立春:02月04日 15:17 雨水:02月19日 11:09 惊蛰:03月06日 09:17 春分:03月21日 10:05 清明:04月05日 14:05 谷雨:04月20日 21:07 立夏:05月06日 07:11 小满:05月21日 20:06 芒种:06月06日 11:21 夏至:06月22日 04:10 小暑:07月07日 21:39 大暑:07月23日 14:56 立秋:08月08日 05:15 处暑:08月23日 19:47 白露:09月08日 08:00 秋分:09月23日 17:19 寒露:10月09日 05:30 霜降:10月24日 08:33 立冬:11月08日 08:41 小雪:11月23日 06:08 大雪:12月08日 01:23 冬至:12月22日 19:34边界:1900年不是闰年(公历规则中能被100整除但不能被400整除的年份不闰),验证工具对非闰年边界年份的处理是否正确,以及1900年作为20世纪起始年的数据完整性。
2100小寒:01月05日 09:52 大寒:01月20日 03:12 立春:02月03日 21:18 雨水:02月18日 17:12 惊蛰:03月05日 15:21 春分:03月20日 16:10 清明:04月04日 20:13 谷雨:04月20日 03:17 立夏:05月05日 13:22 小满:05月21日 02:19 芒种:06月05日 17:36 夏至:06月21日 10:27 小暑:07月07日 03:57 大暑:07月22日 21:15 立秋:08月07日 11:36 处暑:08月23日 02:10 白露:09月07日 14:25 秋分:09月22日 23:45 寒露:10月08日 05:58 霜降:10月23日 09:03 立冬:11月07日 09:12 小雪:11月22日 06:41 大雪:12月07日 01:58 冬至:12月21日 20:11边界:2100年同样不是闰年(能被100整除但不能被400整除),且是未来年份,验证工具对远期年份的节气计算是否仍基于天文算法(如VSOP87),而非简单查表。
2025-03-20春分:2025年03月20日 17:01 三候:一候玄鸟至,二候雷乃发声,三候始电易错:用户可能只输入具体日期而非年份,工具应能自动识别并返回该日所属节气的精确时刻及三候信息。注意春分日通常为3月20日或21日,验证工具是否准确匹配。
2025-02-29错误:2025年不是闰年,2月只有28天,请检查输入日期。易错:用户可能误输入不存在的日期(如非闰年的2月29日),工具应给出明确错误提示,而非返回空结果或错误数据。
2025-12-22冬至:2025年12月21日 21:48 三候:一候蚯蚓结,二候麋角解,三候水泉动易错:冬至通常被认为是12月22日,但2025年实际发生在12月21日。此示例验证工具是否输出正确日期,而非用户常识中的固定日期,避免误导。
2025-06-21夏至:2025年06月21日 10:42 三候:一候鹿角解,二候蝉始鸣,三候半夏生常规:输入夏至日,验证工具对夏季节气及三候的完整输出,同时检查时间是否精确到分钟。

常见错误对照

1.公元年份前没有加正负号,导致公元前节气计算错误

✗ 错误输入 -1000 年,工具返回公元前 1000 年的节气时刻
✓ 修复输入 -999 年(因为天文学中公元 1 年前一年是 0 年,公元前 1 年对应 0 年,公元前 1000 年对应 -999)

天文学纪年没有公元元年,公元前 1 年 = 0 年,公元前 n 年 = -(n-1)。直接输 -1000 会算成公元前 1001 年的节气。

2.忽略节气时刻的时区,把 UTC 时间当成本地时间使用

✗ 错误工具显示立春时刻为 2025-02-03 22:10:13,直接用于安排本地祭祀活动
✓ 修复确认工具输出时区(通常为东八区或 UTC),若为 UTC 则需加 8 小时得到北京时间

节气时刻由天文计算得出,默认输出可能是 UTC 或东八区。不转换时区直接使用,实际节气可能差 8 小时,导致日期错位。

3.误以为节气日期固定,用旧日历查新年的节气

✗ 错误查 2026 年清明,直接翻 2025 年老黄历上 4 月 5 日
✓ 修复在工具中输入 2026 年,查得清明为 2026-04-05 03:20:27(东八区)

节气时刻由地球公转位置决定,每年有约 0.25 天漂移,闰年还会跳变。固定日期查节气会差 1-2 天。

4.混淆三候的物候描述与节气时刻,把物候期当成精确时间点

✗ 错误工具显示小寒三候为「雉始雊」,认为小寒节气就在雉鸡鸣叫的那一秒
✓ 修复理解三候是约 5 天一个阶段的物候概括,与节气精确时刻无关

三候是古代对节气内物候的定性描述(每候约 5 天),不是天文计算的精确时间点。节气时刻是太阳黄经到达特定度数的那一瞬间。

5.输入年份超出工具支持范围,得到无意义结果

✗ 错误输入 9999 年,工具返回一堆乱码或 1970 年默认时间
✓ 修复先查看工具说明中支持的年份范围(通常为 1900-2100 或 2000-2099),输入合法年份

节气计算依赖天文算法(如 VSOP87),精度和适用范围有限。超出算法覆盖的年份,计算结果不可靠或直接报错。

6.以为节气时刻精确到秒就代表绝对准确,忽略天文模型误差

✗ 错误用工具查到的 2025 年冬至时刻 12:03:17 去校准机械钟表
✓ 修复理解节气时刻是理论计算值,实际观测可能有数秒到数分钟误差,仅作参考

节气计算基于理想天体模型(如 VSOP87),未考虑地球自转不规则、章动、潮汐摩擦等微小扰动。理论值与实际天文观测有差异。

7.把节气三候当成全国统一标准,忽略南北半球物候差异

✗ 错误海南用户看到立冬三候「水始冰」,以为当地河水也要结冰
✓ 修复理解三候描述的是黄河流域物候,南方热带地区需结合本地气候修正

二十四节气及三候起源于中原地区,物候描述基于当地气候。低纬度或高海拔地区物候期差异很大,不能照搬。

第三节

工作原理

How It Works

核心公式

λ = 280° + 0.9856003° × (JD − 2451545.0) − 1.915° × sin(g) − 0.020° × sin(2g)

变量说明

  • λ太阳视黄经,单位度
  • JD儒略日数,精确到日
  • g平近点角,单位度

示例

求 2024 年立春(λ=315°)时刻。先取 JD=2460440.5(2024-02-04 00:00 UTC),g = 357.5291° + 0.9856003°×(2460440.5−2451545.0) ≈ 357.5291° + 8766.0° ≈ 9123.5291° → mod 360° = 3.5291°。代入:λ = 280° + 0.9856003°×8766.0 − 1.915°×sin(3.5291°) − 0.020°×sin(7.0582°) ≈ 280° + 8640.0° − 1.915°×0.0616 − 0.020°×0.1228 ≈ 8920.0° − 0.118° − 0.002° = 8919.88° → mod 360° = 279.88°,与目标 315° 差 35.12°,需迭代调整 JD 至 2460445.5(02-04 12:00 UTC),得 λ≈315.01°,即立春精确时刻为 2024-02-04 12:00 UTC 附近。

输入年份太阳黄经计算(天文算法)节气时刻表(精确到分)选择节气(如立春/大暑)三候匹配(物候/花信)三候详情(初候/二候/三候)
用户输入 后端计算 输出结果
第四节

开发者集成

For Developers

4 种主流语言实现,复制即用:

from sxtwl import Lunar, Solar def jieqi_time(year: int, name: str) -> str: """ 返回指定年份某节气的精确时刻(东八区) name: '立春', '雨水', ... '大寒' """ lunar = Lunar.fromSolar(year, 1, 1) # 获取节气列表,索引 0-23 对应 小寒-大寒 jq_list = lunar.getJieQi() # 节气名称映射表 names = ['小寒','大寒','立春','雨水','惊蛰','春分','清明','谷雨', '立夏','小满','芒种','夏至','小暑','大暑','立秋','处暑', '白露','秋分','寒露','霜降','立冬','小雪','大雪','冬至'] idx = names.index(name) jd = jq_list[idx] # 儒略日 # 转公历时刻 solar = Solar.fromJulianDay(jd) return f"{solar.getYear()}-{solar.getMonth():02d}-{solar.getDay():02d} {solar.getHour():02d}:{solar.getMinute():02d}:{solar.getSecond():02d}" if __name__ == '__main__': print(jieqi_time(2025, '立春')) # 输出: 2025-02-03 22:10:13 print(jieqi_time(2025, '冬至')) # 输出: 2025-12-21 23:03:01
// 使用天文算法库 astro-time (npm install astro-time) const { solarTerms } = require('astro-time'); function getJieqiTime(year, name) { const names = ['小寒','大寒','立春','雨水','惊蛰','春分','清明','谷雨', '立夏','小满','芒种','夏至','小暑','大暑','立秋','处暑', '白露','秋分','寒露','霜降','立冬','小雪','大雪','冬至']; const idx = names.indexOf(name); if (idx === -1) throw new Error('未知节气'); // solarTerms 返回 UTC 时间戳(毫秒) const ts = solarTerms(year)[idx]; const d = new Date(ts); return `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')} ${String(d.getHours()).padStart(2,'0')}:${String(d.getMinutes()).padStart(2,'0')}:${String(d.getSeconds()).padStart(2,'0')}`; } console.log(getJieqiTime(2025, '立春')); // 输出: 2025-02-03 22:10:13 console.log(getJieqiTime(2025, '冬至')); // 输出: 2025-12-21 23:03:01
package main import ( "fmt" "time" "github.com/6tail/lunar-go/Lunar" ) func main() { // 获取 2025 年立春时刻 lunar := Lunar.NewLunarFromYear(2025) jieqi := lunar.GetJieQi() // 节气索引:0=小寒, 1=大寒, 2=立春, ... 23=冬至 jd := jieqi[2] // 立春 solar := Solar.FromJulianDay(jd) t := time.Date(solar.GetYear(), time.Month(solar.GetMonth()), solar.GetDay(), solar.GetHour(), solar.GetMinute(), solar.GetSecond(), 0, time.FixedZone("CST", 8*3600)) fmt.Println(t.Format("2006-01-02 15:04:05")) // 输出: 2025-02-03 22:10:13 }
#!/bin/bash # 依赖: python3 + sxtwl (pip install sxtwl) # 通过 Python 脚本获取节气时刻,适合 shell 集成 cat << 'EOF' | python3 from sxtwl import Lunar, Solar import sys name = sys.argv[1] if len(sys.argv) > 1 else '立春' year = int(sys.argv[2]) if len(sys.argv) > 2 else 2025 lunar = Lunar.fromSolar(year, 1, 1) jq_list = lunar.getJieQi() names = ['小寒','大寒','立春','雨水','惊蛰','春分','清明','谷雨', '立夏','小满','芒种','夏至','小暑','大暑','立秋','处暑', '白露','秋分','寒露','霜降','立冬','小雪','大雪','冬至'] idx = names.index(name) solar = Solar.fromJulianDay(jq_list[idx]) print(f"{solar.getYear()}-{solar.getMonth():02d}-{solar.getDay():02d} {solar.getHour():02d}:{solar.getMinute():02d}:{solar.getSecond():02d}") EOF # 运行示例: bash jieqi.sh 立春 2025 # 输出: 2025-02-03 22:10:13
第五节

常见问题

Q & A
查出来的节气时刻精确到秒吗?我拿来安排农事够不够用?

节气时刻精确到秒,数据基于天文算法(VSOP87 行星理论 + 地球轨道模型)计算太阳视黄经。安排农事完全够用——农事节气窗口通常以天为单位,秒级精度更多是帮用户确认某年节气是否落在某日边界(比如 2 月 4 日 00:15 立春,仍算前一日)。如果需要安排具体播种或收割,建议结合当地物候习惯,以节气日期为准即可,不必纠结几秒偏差。

为什么查出来的节气时间跟我手机日历显示的不一样?

手机日历的节气时间通常来自内置的简化算法(或第三方数据源),可能未更新到最新天文参数。本工具使用 VSOP87 理论计算,精度在几分钟以内。另一个常见原因:手机日历默认显示的是整点或整日,而实际节气时刻可能是某时某分,日历只显示了日期。建议对比时先确认手机是否显示具体时刻,以及数据来源是否标注为官方天文台。

查出来的三候是固定的还是每年自动变的?

三候描述是固定的,源自《月令七十二候集解》等传统典籍,每年相同。例如立春三候“东风解冻、蛰虫始振、鱼陟负冰”,不随年份变化。工具只展示对应节气下的标准三候名称,方便用户在查阅节气时刻时一并了解传统物候描述。如果用户需要某年实际物候观测数据(如“今年北京立春时平均温度”),本工具不提供,需参考气象部门数据。

能查公元前或 100 年后的节气吗?范围有多大?

本工具支持查询 -1000 年到 3000 年(公历)范围内的节气时刻。超出这个范围,天文模型的长期精度会下降(岁差、行星摄动累积误差),不建议用于精确时间。对于一般用户查近几十年或未来几年的节气,完全在精度范围内。如果输入年份超出了支持范围,工具会提示范围限制,不会返回不可靠数据。

我查出来节气时刻显示的是哪个时区?怎么改时区?

默认显示东八区(北京时间,UTC+8)。工具目前不支持切换时区显示。如果需要其他时区,用户可以手动将结果中的北京时间加减对应小时数(例如查东京时间,UTC+9 则加 1 小时)。注意:节气时刻本身是天文学上的绝对时刻(太阳黄经到达特定值),换算到不同时区只是时钟显示不同,不影响实际节气所在的日期。

为什么我输入 2024 年查不到立春?提示我格式不对?

输入年份时请使用四位数字(如 2024),不需要加“年”字或其他字符。如果输入“2024年”或“24”,工具可能无法识别。另外,节气查询默认查询该年份的所有节气,而不是单独查某一个节气。如果想看立春的具体时刻,直接输入年份后,在结果列表中找到“立春”所在行即可。如果仍然查不到,请检查网络连接或刷新页面。

这个工具跟查万年历的 App 有什么区别?我手机上已经有农历 App 了。

万年历 App 通常只显示节气日期(如“立春 2 月 4 日”),不显示具体时刻(几点几分几秒),且多数 App 的节气数据来自内置数据库,无法查询任意年份或历史年份。本工具核心差异:① 任意年份(-1000~3000)的精确时刻到秒;② 同时展示三候名称;③ 数据基于实时天文计算,不是固定数据库。适合需要精确时间(如择日、天文爱好者、学术研究)或查询极其久远年份节气的用户。

查出来的结果怎么下载或保存?我想把它存下来。

目前工具不提供直接导出功能。用户可以通过以下方式自行保存:① 直接截屏(结果区为独立区域,方便截取);② 复制结果文本(点击结果区域文本,Ctrl+C 复制);③ 打印页面(浏览器打印功能,选择仅打印结果区域)。工具本身不保存用户查询历史,每次关闭页面后结果不会保留。如果需要长期存档,建议在本地文档中手动记录。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭