婚期选定吉日
老家习俗要求婚礼必须在立春之后、雨水之前,且避开与新人属相相冲的时辰。翻老黄历只能看到当天吉凶,无法精确到具体节气交节时刻。用本工具输入任意年份,直接查出立春的精确到秒的交节时间,再结合三候表确认当天是否处于'东风解冻'的物候期内,让婚期选定有据可依。
立春在即,翻黄历和查手机天气 App 给的节气时刻常常差出十几分钟——前者用固定日期,后者只显示日期。输入任意年份,这个工具给出二十四节气精确到秒的太阳黄经到达时刻,以及对应的七十二候物候描述。数据基于天文算法计算,不依赖网络,结果在服务端生成后直接返回。
老家习俗要求婚礼必须在立春之后、雨水之前,且避开与新人属相相冲的时辰。翻老黄历只能看到当天吉凶,无法精确到具体节气交节时刻。用本工具输入任意年份,直接查出立春的精确到秒的交节时间,再结合三候表确认当天是否处于'东风解冻'的物候期内,让婚期选定有据可依。
明前茶采摘窗口极短,谷雨前三天和后三天的茶叶品质差异明显,直接影响收购价。茶园主需要提前两个月排好采茶工的轮班计划,但节气时刻每年浮动,靠经验估算容易错过最佳采摘日。本工具能一键生成当年谷雨节气的精确时刻,让排班精确到天,确保每批茶叶都在最佳物候期内采摘。
分布式光伏电站的发电效率与太阳高度角直接相关,春分和秋分是调整太阳能板倾角的基准日。运维人员需要知道当年春分的确切时刻,以便在当天完成倾角校准。本工具提供任意年份春分节气的精确到秒的时刻,配合当地经纬度,让倾角调整有精确的时间锚点,避免因日期误差导致发电量损失。
某药厂采购的艾草要求必须在端午前后三天内收割,此时挥发油含量最高。但端午对应的芒种节气时刻每年不同,提前或推迟收割都会影响药效成分。采购员用本工具查当年芒种节气的精确时刻,再结合三候表确认'螳螂生'的物候期是否已到,以此制定采收通知,确保批次质量稳定。
老家的房子装修,父母坚持要按农历择日开工,但自己在外地没法翻老黄历。电话里父母说'惊蛰后第三天',但惊蛰每年时刻不同,且不同时区换算复杂。用本工具输入年份,直接查出惊蛰的北京时间精确时刻,再换算成老家时区,避免因时间误差导致开工时辰不对,让远距离装修决策有精确参考。
| 维度 | 本工具 | 在线万年历 | 传统纸质历书 |
|---|---|---|---|
| 年份范围 | 任意年(含公元前) | 通常 1900–2100 | 仅当年或指定年份 |
| 精确时刻 | 显示到秒 | 多数只显示日期 | 无时刻 |
| 三候内容 | 列出每节气三候 | 无此信息 | 部分老历书有但简略 |
| 离线可用 | 浏览器端计算,无需网络 | 需联网加载 | 完全离线 |
| 速度 | 即时出结果 | 依赖网络延迟 | 需手动翻查 |
| 输入 | 输出 | 说明 |
|---|---|---|
| 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.把节气三候当成全国统一标准,忽略南北半球物候差异
海南用户看到立冬三候「水始冰」,以为当地河水也要结冰理解三候描述的是黄河流域物候,南方热带地区需结合本地气候修正二十四节气及三候起源于中原地区,物候描述基于当地气候。低纬度或高海拔地区物候期差异很大,不能照搬。
λ = 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 附近。
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:01package 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节气时刻精确到秒,数据基于天文算法(VSOP87 行星理论 + 地球轨道模型)计算太阳视黄经。安排农事完全够用——农事节气窗口通常以天为单位,秒级精度更多是帮用户确认某年节气是否落在某日边界(比如 2 月 4 日 00:15 立春,仍算前一日)。如果需要安排具体播种或收割,建议结合当地物候习惯,以节气日期为准即可,不必纠结几秒偏差。
手机日历的节气时间通常来自内置的简化算法(或第三方数据源),可能未更新到最新天文参数。本工具使用 VSOP87 理论计算,精度在几分钟以内。另一个常见原因:手机日历默认显示的是整点或整日,而实际节气时刻可能是某时某分,日历只显示了日期。建议对比时先确认手机是否显示具体时刻,以及数据来源是否标注为官方天文台。
三候描述是固定的,源自《月令七十二候集解》等传统典籍,每年相同。例如立春三候“东风解冻、蛰虫始振、鱼陟负冰”,不随年份变化。工具只展示对应节气下的标准三候名称,方便用户在查阅节气时刻时一并了解传统物候描述。如果用户需要某年实际物候观测数据(如“今年北京立春时平均温度”),本工具不提供,需参考气象部门数据。
本工具支持查询 -1000 年到 3000 年(公历)范围内的节气时刻。超出这个范围,天文模型的长期精度会下降(岁差、行星摄动累积误差),不建议用于精确时间。对于一般用户查近几十年或未来几年的节气,完全在精度范围内。如果输入年份超出了支持范围,工具会提示范围限制,不会返回不可靠数据。
默认显示东八区(北京时间,UTC+8)。工具目前不支持切换时区显示。如果需要其他时区,用户可以手动将结果中的北京时间加减对应小时数(例如查东京时间,UTC+9 则加 1 小时)。注意:节气时刻本身是天文学上的绝对时刻(太阳黄经到达特定值),换算到不同时区只是时钟显示不同,不影响实际节气所在的日期。
输入年份时请使用四位数字(如 2024),不需要加“年”字或其他字符。如果输入“2024年”或“24”,工具可能无法识别。另外,节气查询默认查询该年份的所有节气,而不是单独查某一个节气。如果想看立春的具体时刻,直接输入年份后,在结果列表中找到“立春”所在行即可。如果仍然查不到,请检查网络连接或刷新页面。
万年历 App 通常只显示节气日期(如“立春 2 月 4 日”),不显示具体时刻(几点几分几秒),且多数 App 的节气数据来自内置数据库,无法查询任意年份或历史年份。本工具核心差异:① 任意年份(-1000~3000)的精确时刻到秒;② 同时展示三候名称;③ 数据基于实时天文计算,不是固定数据库。适合需要精确时间(如择日、天文爱好者、学术研究)或查询极其久远年份节气的用户。
目前工具不提供直接导出功能。用户可以通过以下方式自行保存:① 直接截屏(结果区为独立区域,方便截取);② 复制结果文本(点击结果区域文本,Ctrl+C 复制);③ 打印页面(浏览器打印功能,选择仅打印结果区域)。工具本身不保存用户查询历史,每次关闭页面后结果不会保留。如果需要长期存档,建议在本地文档中手动记录。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。