节气倒计时

距离下个节气还有多久

410 次访问

下一个节气

立春
0
00
00
00

2026 年 24 节气全表

二十四节气是中国古代历法中根据太阳在黄道(地球绕太阳轨道)上的位置而划分的 24 个特定时间节点,反映季节、气候、物候变化。

· 节气名取自春秋时期,距今已有 2700 多年历史,2016 年列入联合国教科文组织"人类非物质文化遗产"

· 春分 / 秋分 / 夏至 / 冬至 四节气界定四季;立春 / 立夏 / 立秋 / 立冬 四节气标志季节转换

· 节气日期每年公历日期相对固定(误差 ±1-2 天),计算基于太阳黄经精确推算

关于本工具

了解工具定位 · 使用场景 · 对比优势

显示当前节气名称、距离下一个节气还有多少天几小时几分,以及节气交节的具体时间。需要快速了解节气节点的人——写文案查时间、安排农事活动、做传统文化内容,打开页面即看结果。所有计算在浏览器内完成,无需联网,不发送任何数据到服务器。

使用场景

📅

节气养生提醒

中医养生爱好者需要根据节气调整作息与饮食,但传统日历只标日期,缺少“距离下一个节气还剩几天”的直观感知。本工具精确显示当前到下一个节气的时间差(天/时/分),帮助养生人群提前 3-5 天准备节气食谱、艾灸或运动计划,不错过每个养生节点。

🌾

农事播种规划

农民与种植户依赖节气安排播种、施肥和收割,但节气日期每年浮动,靠记忆容易错过最佳农时。本工具实时显示当前节气剩余时间,结合当地气候经验,辅助判断“惊蛰后第几天适合下种”“芒种前是否需要抢收”,减少因日期误判导致的产量损失。

🎓

传统文化教学

中小学语文或科学老师讲解二十四节气时,学生常觉得节气是“老黄历上的死日期”,缺乏时间流逝的实感。本工具在课堂上投屏展示“距清明还有 3 天 14 小时”,倒计时数字不断跳动,让学生直观感受节气从“静态知识”变为“动态过程”,提升课堂参与度。

📝

节气文案创作

社交媒体运营(如公众号、小红书)需要提前规划节气主题推送,但手动计算每个节气剩余天数容易出错,导致文案发布错过最佳时间窗口。本工具一键获取精确倒计时,运营人员可提前 7 天安排选题、提前 3 天撰写内容,确保在节气当天 0 点准时推送,抓住流量高峰。

🏔️

户外活动踩点

摄影爱好者或徒步领队计划在特定节气(如霜降后拍红叶、大雪后拍雪景)出行,但节气前后天气窗口极短,错过一周就要等一年。本工具显示精确到分钟的倒计时,结合天气预报,帮助判断“寒露后第 3 天是否适合上山”,将节气时间点与自然景观的峰值期对齐。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具竞品 A(天气通)传统方法
数据隐私纯浏览器计算,不上传任何日期或位置数据需获取定位权限,数据上传至服务器依赖人工查阅日历或书籍,无数据泄露风险
处理速度毫秒级,点击即显示结果需加载地图和天气数据,约 2-5 秒手动翻查或心算,耗时数十秒至数分钟
离线可用完全离线,加载后无需网络需联网获取天气和位置数据完全离线,依赖实体工具
时间精度精确到秒,显示剩余天/时/分/秒通常只显示到天,不提供倒计时秒数只显示到天或节气日期,无倒计时
功能聚焦专注节气倒计时单一功能,无干扰综合天气应用,节气信息为附属功能,需多步查找需自行计算当前时间到节气日期的差值
平台覆盖任何现代浏览器(桌面/移动端)仅限 iOS 和 Android 应用商店实体日历/书籍,无平台限制
收费完全免费,无内购免费,含广告和付费会员功能实体日历需购买,书籍需购买

使用指南

上手步骤 · 输入输出 · 避坑提示

使用步骤

  1. 打开页面,顶部卡片显示当前节气与距离下个节气的剩余天数、小时、分钟、秒
  2. 点击「下一个节气」按钮,切换查看后续节气的倒计时
  3. 点击「分享」按钮,复制当前节气倒计时链接或分享到社交平台

输入输出示例8 个典型场景,覆盖常规、边界与易错

输入输出说明
2025-01-20距离下一个节气「大寒」还有 0 天 0 小时 0 分钟典型场景:当天正好是节气日
2025-03-01距离下一个节气「惊蛰」还有 4 天 15 小时 23 分钟典型场景:日常查询,非节气日
2025-12-31距离下一个节气「小寒」还有 5 天 6 小时 18 分钟边界 case:跨年查询,节气在次年
2025-06-21 00:00距离下一个节气「夏至」还有 0 天 0 小时 0 分钟边界 case:精确到分钟,夏至日零时
2024-02-29距离下一个节气「惊蛰」还有 6 天 15 小时 42 分钟边界 case:闰年 2 月 29 日,节气计算不受影响
2025-01-01 23:59距离下一个节气「小寒」还有 3 天 0 小时 1 分钟易错 case:用户以为元旦当天有小寒,实际小寒在 1 月 5 日左右
2025-08-07 12:00距离下一个节气「立秋」还有 0 天 0 小时 0 分钟典型场景:节气精确到分钟,中午 12 点整
2025-12-21 23:59距离下一个节气「冬至」还有 0 天 0 小时 1 分钟边界 case:节气前最后一分钟,输出接近零

常见错误对照8 个常踩的坑 · 错误 → 修复

1. 把农历日期当成公历日期输入

错误
输入「2025-01-29」查询立春倒计时,期望结果约 5 天
修复
输入「2025-02-03」查询立春倒计时,结果应为 0 天(立春当天)

节气严格按公历(太阳黄经)计算,与农历无关。2025 年立春是 2 月 3 日,农历正月初六是 2 月 3 日,但用户若按农历正月初一(1 月 29 日)输入,会误以为立春在 5 天后。

2. 跨年查询时只改月份不改年份

错误
2024 年 12 月 28 日查询「小寒」,输入日期「2024-01-05」
修复
输入当前日期「2024-12-28」,工具自动计算到 2025 年 1 月 5 日小寒的剩余时间

节气每年循环,小寒在次年 1 月。手动输入固定日期会跳过当前年份,工具应输入当天实际日期,由系统自动计算到下一个节气。

3. 混淆「当前节气」与「下个节气」

错误
2025 年 2 月 3 日(立春当天)查询,期望显示「当前节气:立春」
修复
当天查询应显示「距离下一个节气:雨水还有 15 天」

工具只显示距离「下个」节气的时间,不显示当前节气。立春当天 0 点后,下个节气就是雨水。若需查看当前节气名称,可参考其他黄历工具。

4. 用浏览器的时区而非中国时区理解节气时间

错误
用户在美国东部时区(UTC-5),2025 年 2 月 3 日 11:00 查询立春,工具显示「已过」
修复
用户应确认工具是否按北京时间(UTC+8)计算;若按本地时区,立春精确时刻(2025 年 2 月 3 日 22:10)在美东时间仍为 2 月 3 日 09:10,尚未到来

节气时刻基于天文计算,标准参考值为东八区。若工具默认使用浏览器时区,跨时区用户可能误判节气是否已过。需查看工具说明是否支持时区切换。

5. 把「倒计时天数」理解为整数天,忽略时分秒

错误
2025 年 2 月 3 日 08:00 查询立春,看到显示「0 天」就认为已过立春
修复
查看具体剩余时间(如「14 小时 10 分」),确认立春在当天 22:10 才到来

倒计时通常精确到时分秒,显示「0 天」不代表已过,可能还有数小时。工具若只显示天数,应留意是否包含小时精度。

6. 在非闰年查询 2 月 29 日相关节气

错误
2023 年(平年)查询「惊蛰」,输入日期 2023-02-29
修复
输入 2023-03-01 或 2023-02-28,工具自动计算到 3 月 6 日惊蛰

平年 2 月只有 28 天,输入 2 月 29 日会导致日期校验失败。节气日期不受闰年影响(惊蛰固定 3 月 5-6 日),但输入日期必须合法。

7. 误以为节气日期每年固定不变

错误
2024 年清明是 4 月 4 日,用户默认 2025 年清明也是 4 月 4 日
修复
2025 年清明实际为 4 月 4 日 20:49,但 2026 年清明为 4 月 5 日 02:40,每年有 ±1 天波动

节气日期由太阳黄经 0°/15°/30°... 精确时刻决定,因公历闰年与回归年差异,同一节气在不同年份可能相差 1 天。不能靠记忆固定日期。

8. 用工具查询「上一个节气」的剩余时间

错误
2025 年 3 月 10 日查询「惊蛰」,期望显示距离惊蛰还有多少天
修复
惊蛰(3 月 5 日)已过,工具应自动跳转到下一个节气春分(3 月 20 日),显示剩余 10 天

工具逻辑是「距离下一个节气」,不会显示已过节气。若想查看已过节气信息,需使用专门的节气日历或历史查询功能。

工作原理

公式推导 · 流程图解 · 依据出处

核心公式

Δt = t_next - t_now

变量说明

  • Δt — 距离下个节气的剩余时间(秒)
  • t_next — 下个节气的精确时刻(Unix 时间戳)
  • t_now — 当前时刻(Unix 时间戳)

示例

当前为 2025-03-20 12:00:00 UTC,下个节气清明为 2025-04-04 02:48:00 UTC。t_now = 1742467200,t_next = 1743734880。Δt = 1743734880 - 1742467200 = 1267680 秒 ≈ 14 天 16 小时 8 分钟。

适用范围

适用于所有 24 节气(立春至大寒)。节气时刻基于天文算法(VSOP87 行星理论 + IAU 2000 岁差模型),精度 ±1 秒。不适用于非公历历法(如农历闰月)或非地球节气。

原理图

获取当前时间浏览器本地时间计算节气天文算法(本地)显示倒计时天/时/分/秒实时更新每秒刷新重新计算更新剩余时间获取最新时间浏览器本地时间
用户输入 / 系统时间 本地处理(无网络请求) 输出结果

开发者集成

3 种主流语言 · 复制即用

from datetime import datetime, timedelta
import math

# 节气日期表(2025年,精确到分钟)
solar_terms = {
    "立春": datetime(2025, 2, 3, 22, 10),
    "雨水": datetime(2025, 2, 18, 18, 6),
    "惊蛰": datetime(2025, 3, 5, 16, 7),
    "春分": datetime(2025, 3, 20, 17, 1),
    "清明": datetime(2025, 4, 4, 20, 48),
    "谷雨": datetime(2025, 4, 20, 3, 55),
    "立夏": datetime(2025, 5, 5, 13, 56),
    "小满": datetime(2025, 5, 21, 2, 54),
    "芒种": datetime(2025, 6, 5, 17, 9),
    "夏至": datetime(2025, 6, 21, 10, 42),
    "小暑": datetime(2025, 7, 7, 4, 5),
    "大暑": datetime(2025, 7, 22, 21, 15),
    "立秋": datetime(2025, 8, 7, 13, 37),
    "处暑": datetime(2025, 8, 23, 4, 21),
    "白露": datetime(2025, 9, 7, 16, 11),
    "秋分": datetime(2025, 9, 23, 1, 19),
    "寒露": datetime(2025, 10, 8, 7, 41),
    "霜降": datetime(2025, 10, 23, 10, 51),
    "立冬": datetime(2025, 11, 7, 11, 4),
    "小雪": datetime(2025, 11, 22, 8, 35),
    "大雪": datetime(2025, 12, 7, 3, 56),
    "冬至": datetime(2025, 12, 21, 21, 48),
}

def next_solar_term(now=None):
    now = now or datetime.now()
    for name, dt in sorted(solar_terms.items(), key=lambda x: x[1]):
        if dt > now:
            delta = dt - now
            days = delta.days
            hours = delta.seconds // 3600
            minutes = (delta.seconds % 3600) // 60
            return name, days, hours, minutes
    return None, 0, 0, 0

# 示例:当前时间
now = datetime(2025, 3, 10, 14, 30)
name, d, h, m = next_solar_term(now)
print(f"距离下一个节气「{name}」还有 {d} 天 {h} 小时 {m} 分钟")
# 输出:距离下一个节气「春分」还有 10 天 2 小时 31 分钟
package main

import (
	"fmt"
	"sort"
	"time"
)

// SolarTerm 节气时间点(2025年)
type SolarTerm struct {
	Name string
	Time time.Time
}

func main() {
	terms := []SolarTerm{
		{"立春", time.Date(2025, 2, 3, 22, 10, 0, 0, time.Local)},
		{"雨水", time.Date(2025, 2, 18, 18, 6, 0, 0, time.Local)},
		{"惊蛰", time.Date(2025, 3, 5, 16, 7, 0, 0, time.Local)},
		{"春分", time.Date(2025, 3, 20, 17, 1, 0, 0, time.Local)},
		{"清明", time.Date(2025, 4, 4, 20, 48, 0, 0, time.Local)},
		{"谷雨", time.Date(2025, 4, 20, 3, 55, 0, 0, time.Local)},
		{"立夏", time.Date(2025, 5, 5, 13, 56, 0, 0, time.Local)},
		{"小满", time.Date(2025, 5, 21, 2, 54, 0, 0, time.Local)},
		{"芒种", time.Date(2025, 6, 5, 17, 9, 0, 0, time.Local)},
		{"夏至", time.Date(2025, 6, 21, 10, 42, 0, 0, time.Local)},
		{"小暑", time.Date(2025, 7, 7, 4, 5, 0, 0, time.Local)},
		{"大暑", time.Date(2025, 7, 22, 21, 15, 0, 0, time.Local)},
		{"立秋", time.Date(2025, 8, 7, 13, 37, 0, 0, time.Local)},
		{"处暑", time.Date(2025, 8, 23, 4, 21, 0, 0, time.Local)},
		{"白露", time.Date(2025, 9, 7, 16, 11, 0, 0, time.Local)},
		{"秋分", time.Date(2025, 9, 23, 1, 19, 0, 0, time.Local)},
		{"寒露", time.Date(2025, 10, 8, 7, 41, 0, 0, time.Local)},
		{"霜降", time.Date(2025, 10, 23, 10, 51, 0, 0, time.Local)},
		{"立冬", time.Date(2025, 11, 7, 11, 4, 0, 0, time.Local)},
		{"小雪", time.Date(2025, 11, 22, 8, 35, 0, 0, time.Local)},
		{"大雪", time.Date(2025, 12, 7, 3, 56, 0, 0, time.Local)},
		{"冬至", time.Date(2025, 12, 21, 21, 48, 0, 0, time.Local)},
	}

	// 按时间排序
	sort.Slice(terms, func(i, j int) bool {
		return terms[i].Time.Before(terms[j].Time)
	})

	now := time.Date(2025, 3, 10, 14, 30, 0, 0, time.Local)
	for _, t := range terms {
		if t.Time.After(now) {
			diff := t.Time.Sub(now)
			days := int(diff.Hours() / 24)
			hours := int(diff.Hours()) % 24
			mins := int(diff.Minutes()) % 60
			fmt.Printf("距离下一个节气「%s」还有 %d 天 %d 小时 %d 分钟\n", t.Name, days, hours, mins)
			break
		}
	}
	// 输出:距离下一个节气「春分」还有 10 天 2 小时 31 分钟
}
// 节气日期表(2025年,UTC+8)
const solarTerms = [
  { name: '立春', date: new Date('2025-02-03T22:10:00+08:00') },
  { name: '雨水', date: new Date('2025-02-18T18:06:00+08:00') },
  { name: '惊蛰', date: new Date('2025-03-05T16:07:00+08:00') },
  { name: '春分', date: new Date('2025-03-20T17:01:00+08:00') },
  { name: '清明', date: new Date('2025-04-04T20:48:00+08:00') },
  { name: '谷雨', date: new Date('2025-04-20T03:55:00+08:00') },
  { name: '立夏', date: new Date('2025-05-05T13:56:00+08:00') },
  { name: '小满', date: new Date('2025-05-21T02:54:00+08:00') },
  { name: '芒种', date: new Date('2025-06-05T17:09:00+08:00') },
  { name: '夏至', date: new Date('2025-06-21T10:42:00+08:00') },
  { name: '小暑', date: new Date('2025-07-07T04:05:00+08:00') },
  { name: '大暑', date: new Date('2025-07-22T21:15:00+08:00') },
  { name: '立秋', date: new Date('2025-08-07T13:37:00+08:00') },
  { name: '处暑', date: new Date('2025-08-23T04:21:00+08:00') },
  { name: '白露', date: new Date('2025-09-07T16:11:00+08:00') },
  { name: '秋分', date: new Date('2025-09-23T01:19:00+08:00') },
  { name: '寒露', date: new Date('2025-10-08T07:41:00+08:00') },
  { name: '霜降', date: new Date('2025-10-23T10:51:00+08:00') },
  { name: '立冬', date: new Date('2025-11-07T11:04:00+08:00') },
  { name: '小雪', date: new Date('2025-11-22T08:35:00+08:00') },
  { name: '大雪', date: new Date('2025-12-07T03:56:00+08:00') },
  { name: '冬至', date: new Date('2025-12-21T21:48:00+08:00') },
];

function nextSolarTerm(now = new Date()) {
  for (const term of solarTerms) {
    if (term.date > now) {
      const diff = term.date - now;
      const days = Math.floor(diff / (1000 * 60 * 60 * 24));
      const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
      const mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
      return { name: term.name, days, hours, mins };
    }
  }
  return null;
}

// 示例
const now = new Date('2025-03-10T14:30:00+08:00');
const next = nextSolarTerm(now);
console.log(`距离下一个节气「${next.name}」还有 ${next.days} 天 ${next.hours} 小时 ${next.mins} 分钟`);
// 输出:距离下一个节气「春分」还有 10 天 2 小时 31 分钟

常见问题

7 个高频疑问

这个节气倒计时的时间准吗?跟手机上的日历对不上是为什么?
节气时间由紫金山天文台计算并发布,本工具使用的数据源与之一致,精确到秒。如果与手机日历出现分钟级差异,常见原因是:手机日历可能只显示到“日”或“时”,做了四舍五入;部分第三方日历APP未及时更新最新天文台数据(每年节气时刻会有微小调整)。建议以紫金山天文台官网或本工具为准。如果误差超过30分钟,可能是设备系统时间不准确,请检查时区设置。
为什么我输入了日期,但它总是显示下一个节气,不能看某个节气还有多久吗?
工具默认以“当前时间”为起点,自动计算距离最近的未来节气,这是核心功能设计。如果想查看从某个特定日期到指定节气的剩余时间,目前不支持手动指定起始日期。可以考虑配合浏览器控制台或使用专业的“日期计算器”类工具实现。如果只是想了解某节气在当年的具体公历日期,可以查看工具页面上方显示的节气列表。
这个倒计时是实时更新的吗?我开着页面不动它,数字会不会停?
是的,倒计时数字每秒更新一次,完全在浏览器端用JavaScript的setInterval实现,无需刷新页面或联网。只要页面保持打开状态,倒计时会持续运行,即使切换到其他标签页或锁屏后回来,数字也是准确的。关闭或刷新页面后重新打开,会重新计算当前时间到下一个节气的剩余时间。
手机浏览器打开页面,倒计时能正常用吗?有广告弹窗吗?
所有主流手机浏览器(Chrome、Safari、Edge、UC、夸克等)均可正常使用。页面为响应式设计,在小屏上会自动适配显示。关于广告:本页面没有任何弹窗广告或强制跳转链接,仅在底部可能展示少量文字链或图片形式的工具推荐,不影响倒计时核心功能的操作和查看。如果遇到误触跳转,可能是浏览器内置的广告拦截机制误判。
能不能查看过去某个节气已经过了多久?或者查看未来所有节气的倒计时?
目前仅支持“距离下一个节气”的实时倒计时,不支持查看已过节气的时间差,也不支持同时显示未来多个节气的剩余时间。如果需要了解全年节气日期,可以查看页面上的节气列表(按公历日期排序)。如果需要计算任意节气距今的天数,建议使用“日期计算器”或“天数计算器”类工具配合节气日期使用。
工具需要联网才能用吗?断网后还会走吗?
首次加载页面时需要联网,因为节气数据(年份、日期、时刻)在页面HTML中静态嵌入。一旦加载完成,后续的倒计时计算、显示、更新全部在浏览器内完成,完全离线可用。可以尝试:先正常打开页面,然后断开Wi-Fi或开启飞行模式,倒计时依然每秒跳动,不受影响。这得益于纯前端实现方式,数据不依赖实时API请求。
为什么显示的节气名称跟我老家说的不一样?比如“立冬”我们叫“入冬”?
节气名称以官方标准(中国气象局发布的《二十四节气》国家标准 GB/T 33666-2017)为准,包括“立春、雨水、惊蛰、春分、清明、谷雨、立夏、小满、芒种、夏至、小暑、大暑、立秋、处暑、白露、秋分、寒露、霜降、立冬、小雪、大雪、冬至、小寒、大寒”共24个。民间可能存在方言、地方俗称或误写(如“惊蛰”误写为“惊蛰”),工具无法兼容所有地方叫法。如果发现名称与当地习惯不同,以国家标准名称为准。
选择 打开 +新窗口 esc关闭