日出日落时间计算器
基于 NOAA 太阳算法,根据日期、经纬度与时区精准计算日出日落、太阳正午、日照时长及实时太阳位置
Sunrise Sunset
Sunrise Sunset
Key formulas: now.getUTCHours() × 60 + now.getUTCMinutes() + now.getUTCSeconds() ÷ 60; ((utcMin + tz × 60) % 1440 + 1440) % 1440; 720 - 4 × lon - p.EoT + tz × 60
🕐 一日日照时间轴
橙色区域为白昼时段(含大气折射修正),红线为太阳正午,紫线为当前时刻
🧭 当前太阳位置
基于所选日期的太阳参数与该地当前时刻计算的太阳高度角与方位角
📐 NOAA 太阳算法说明
计算流程
1. 由公历日期计算 儒略日 (JD),再得 儒略世纪 T = (JD - 2451545) / 36525
2. 由 T 计算 太阳几何平黄经 L₀、平近点角 M、地球轨道偏心率 e
3. 中心方程求得 太阳真黄经,经章动与光行差修正得 视黄经
4. 由 黄赤交角 与视黄经求得 太阳赤纬 δ
5. 由 L₀、M、e、黄赤交角求得 时差方程 EoT(分钟)
6. 日出日落时角:cosH = cos(90.833°)/(cosφ·cosδ) - tanφ·tanδ
7. 太阳正午 = 720 - 4·经度 - EoT + 时区×60(分钟)
8. 日出 = 正午 - 4·H,日落 = 正午 + 4·H
关键参数
90.833°:日出日落的天顶角,= 90° + 0.266°(太阳视半径)+ 0.566°(大气折射),计入太阳未完全升至地平线即可被看见的效应。
时差方程 EoT:由于地球椭圆轨道与自转轴倾斜,太阳实际位置与钟表时间的偏差,全年范围约 -14 ~ +16 分钟。
太阳正午:太阳到达当地子午圈最高点的时刻,并不一定恰为 12:00,与经度和时区中心经度差异有关。
📚 深度解析:日出日落时间计算器
💡 常见使用场景
- 基于 NOAA 太阳算法,按日期、经纬度与时区计算日出、日落、太阳正午与日照时长。
- 规划户外拍摄、航行或作息,了解不同季节的白昼长短变化。
- 结合海拔与地形遮挡做更贴近实际的可见时段估计。
❓ 常见问题(FAQ)
- 算法为什么要区分民用、航海、天文晨昏?
- 它们以太阳中心在地平线下 6°、12°、18° 划分,对应不同活动所需的天光条件。
- 海拔和地形会影响结果吗?
- 会。高山或海滨的几何地平与标准海平面不同,需叠加地形遮挡才能得到实际可见的日出日落。
- 本工具纯前端运行,所有计算在浏览器本地完成,数据不会上传到服务器
- 纬度正值表示北半球,负值表示南半球;经度正值表示东经,负值表示西经
- 时区支持小数(如印度 +5.5、缅甸 +6.5),范围 -12 ~ +14
- 「定位当前位置」需浏览器授权地理定位权限,且需 HTTPS 环境生效
- 建议在主流浏览器(Chrome/Safari/Firefox/Edge 最近两个版本)中使用
工具简介
日出日落时间计算器是一款天文领域的在线工具,采用美国国家海洋和大气管理局(NOAA)发布的标准太阳计算算法,根据用户输入的日期、纬度、经度与时区,精准计算任意地点当日的日出时间、日落时间、太阳正午时刻、白昼时长与日照时长,并实时显示当前太阳的高度角和方位角。所有计算均在浏览器本地完成,无需联网,数据不上传。
功能特点
- NOAA 标准太阳算法,精度约 ±1~2 分钟
- 内置北京、上海、纽约、伦敦、东京等城市预设
- 支持浏览器地理定位一键获取当前位置
- 实时计算太阳高度角与方位角并可视化
- 一日日照时间轴直观展示白昼分布
- 支持小数时区(如 +5.5、+6.5)
- 自动识别极昼极夜现象
- 纯前端运行,数据不上传,安全可靠
使用场景
- 摄影规划黄金时刻与蓝调时刻
- 旅行出行安排日照活动
- 建筑采光与光伏发电评估
- 农业种植光照周期计算
- 天文观测与户外运动计划
- 学习天文地理与太阳运动规律
计算原理
工具首先将公历日期转换为儒略日(JD),再求得儒略世纪 T,依次计算太阳几何平黄经、平近点角、地球轨道偏心率,通过中心方程与章动光行差修正得到太阳视黄经,结合黄赤交角求出太阳赤纬与时差方程(EoT)。日出日落采用 90.833° 天顶角(含太阳视半径与大气折射修正),通过时角公式 cosH = cos(90.833°)/(cosφ·cosδ) - tanφ·tanδ 求得日出日落时角,进而得到当地日出、日落与太阳正午时刻。