夏至与冬至:一年中日出日落位置的最大偏移

夏至这天北京 4 点 46 分天亮,太阳从东偏北 32° 的位置爬上来;半年后的冬至,日出推迟到 7 点 33 分,出来的方向变成东偏南 30°。一天的长度从 15 小时缩到 9 小时 20 分,日出的方位在地平线上来回走过了 62.5°。这些数字不是感觉,是可以一个一个算出来的。

查日出日落的人多半只问"几点"。但真要用起来——拍照、挑房、判断冬天下午几点天黑——"几点出来"和"从哪边出来"是两件事,后者往往更管用。夏至和冬至就是这两件事的极值:一个定时间,一个定位置。有意思的地方在于,时间上的最大值和位置上的最大值并不落在同一天。

🌍 一、太阳直射点在南北回归线之间往返

地轴倾斜 23.44°,地球绕着太阳走一圈,太阳直射点就在南北纬 23.44° 之间走一个来回,这两条线就是南北回归线。直射点所在的纬度,天文学上叫太阳赤纬 δ,夏至 +23.44°,冬至 −23.44°,春分秋分 0°。

2026 年四个节点的北京时间(用 astronomy-engine 天文引擎算出):春分 3 月 20 日 22:46、夏至 6 月 21 日 16:25、秋分 9 月 23 日 08:06、冬至 12 月 22 日 04:50。注意冬至落在 22 日,每年会有一天左右的浮动。

赤纬最直接的表现是正午太阳高度:

h = 90° − |φ − δ|  (φ 为当地纬度)

北京纬度 39.90°,代进去:夏至 h = 90 − |39.90 − 23.44| = 73.5°,冬至 h = 90 − |39.90 + 23.44| = 26.7°。两个数相加正好 100.2°,等于 2 × (90 − 39.90)——夏至比冬至高出的那部分,恰好是赤纬摆幅的两倍。这是可以直接拿影子验证的:冬至正午北京 1 米高的杆子投出约 1.99 米的影子,夏至只剩 0.30 米。

🔑 直射点走得不匀速

  • 二分前后最快:春分那几天,太阳赤纬每天变化约 0.395°,一天差出三分之一的度。
  • 二至前后几乎不动:夏至和冬至当天,赤纬的日变化只有约 0.002°,十天累计不到 0.02°。英文 solstice 的本义就是"太阳停住"。
  • 所以二至附近的时间是"稳"的:北京夏至前后一周,日出时间的差别只有几十秒;春分前后一天能差两分钟以上。

⏰ 二、夏至日出最早,还是日落最晚?

都不是夏至当天。北京 2026 年的实测:最早日出在 6 月 14 日 04:45:16,夏至当天是 04:45:56,晚了 40 秒;最晚日落落在 6 月 27 日 19:47:03,夏至当天 19:46:20,早了 43 秒。差得不多,但方向很明确——最早日出在夏至之前,最晚日落推到夏至之后。

日期(2026)日出日落白昼太阳中天
6 月 14 日(最早日出)04:45:1619:44:0714h58m12:14:37
6 月 21 日(夏至)04:45:5619:46:2015h00m12:16:08
6 月 27 日(最晚日落)04:47:4119:47:0314h59m12:17:25

表里最后一列是解开这件事的钥匙。白昼最长的确实是夏至(15h00m),但日出日落时刻不只看白昼长度,还要看太阳什么时候过中天:日出 = 中天 − 半昼长,日落 = 中天 + 半昼长。而太阳中天时刻本身在漂移——夏至前后的真太阳日比 24 小时长约 13 秒,中天每天就要推迟 13 秒。表里 13 天累计推迟了 2 分 48 秒,正好对得上。

夏至之前,半昼长还在增加(把日出往前推),中天的推迟把日出往后拉,两者抵消的那天就是 6 月 14 日。夏至之后半昼长开始缩短,但头几天缩短得比中天推迟慢,日落就继续往后挪,一直挪到 6 月 27 日才掉头。用一句话说:夏至那天的"长"是真的,只是太阳每天还迟到十几秒,把两个极值推到了夏至的两侧。

📉 三、为什么最晚日落不在冬至当天

先说清楚冬至是什么:它确实是白昼最短(北京 9h20m)、正午太阳最低(26.7°)、日出方位最偏南(120.4°)的那一天。但"最早日落"和"最晚日出"都不在冬至,而全年最晚日落压根是夏天的事——6 月 27 日的 19:47:03。

北京的数据是这样的:最早日落 12 月 7 日 16:49:11,冬至当天 16:52:55,晚了 3 分 44 秒;最晚日出 1 月 5 日 07:36:11,冬至当天 07:32:39,早了 3 分 32 秒。两个极值一个在冬至前 15 天,一个在后 14 天,中间隔了将近一个月。

原因还是中天漂移,只是冬至这回更夸张。冬至前后的真太阳日是全年最长的,接近 24 小时 30 秒,太阳每天迟到约 29 秒。北京 12 月 7 日的中天是 12:05:41,到 1 月 5 日变成 12:19:38,29 天推迟了 13 分 57 秒,一天 29 秒,算得严丝合缝。而冬至前后白昼长度的变化慢到每天不到 1 秒,根本压不住这个推迟,于是两个极值被推到冬至两边。

🗺️ 错位多少天,跟纬度有关

  • 广州(23.13°N):最早日落 11 月 28 日,最晚日出 1 月 15 日,相差 48 天。低纬度白昼年变化小,中天的匀速推迟更容易占上风。
  • 乌鲁木齐(43.83°N):12 月 9 日与 1 月 3 日,相差 25 天。
  • 漠河(52.97°N):12 月 13 日与 12 月 30 日,只差 17 天。纬度越高,白昼长度的季节曲率越大,很快就把中天的漂移盖过去了。

所以"冬至是最黑的一天"只在一个意义上成立:白昼最短。要说天黑得最早,那是 12 月上旬的事;要说早上亮得最晚,得等到 1 月初。

🧭 四、日出方位角从东北到东南的变化轨迹

方位角是太阳升起时在地平线上的位置,从正北起算顺时针计:正东 90°,正南 180°,正西 270°。它只由纬度和赤纬决定:

cos A = sin δ ÷ cos φ  (A 为日出方位角,日落方位角 = 360° − A)

北京代入:δ = 0° 时 A = 90°,正东出、正西落;δ = +23.44° 时 A = 57.9°,东偏北 32.1° 出、西偏北 32.1° 落;δ = −23.44° 时 A = 120.4°,东偏南 30.4° 出、西偏南 30.4° 落。全年在 62.5° 的范围内来回摆一次。

日期(每月 1 日)日出方位日落方位日期(每月 1 日)日出方位日落方位
1 月119.8°240.2°7 月58.4°301.6°
2 月111.9°248.3°8 月65.4°294.4°
3 月99.3°260.9°9 月78.3°281.4°
4 月83.5°276.7°10 月93.3°266.4°
5 月69.6°290.7°11 月108.1°251.7°
6 月60.0°300.2°12 月118.1°241.8°

摆幅随纬度放大:广州 51.3°(64.0°→115.2°),上海 55.4°,北京 62.5°,乌鲁木齐 66.9°,漠河拉到 82.7°(47.2°→129.9°)。同样是一次夏至,漠河的太阳是几乎从正北偏东的方向钻出来的。记住一句就够用:夏半年东北升西北落,冬半年东南升西南落,只有春秋分是正东正西。

🏠 五、建筑朝向与采光设计上的应用

中国绝大部分地区在北回归线以北,正午太阳永远在南边天空。这一条决定了朝向的基本盘:南向是全年唯一稳定有直射光的立面。

01

冬天:北向房间整日没有直射

北京冬至日出 120.4°、日落 239.6°,太阳全天只在南半天活动,既没到过正东也没到过正西。南窗从早晒到晚,北窗一整天都是散射光。这是北方朝北房间冬天阴冷的直接原因——不是保温差,是太阳根本没走到那一侧。

02

夏天:清晨和傍晚,太阳能照进北向房间

反过来看夏至:日出 57.9°、日落 302.1°,太阳从东北升起、在西北落下。这意味着夏天早上五六点和晚上七八点,低角度的阳光能斜着打进朝北的窗户。白天最热的时段北向确实没太阳,但早晚那两个小时是有的。

03

西晒为什么最难熬

夏至北京日落方位 302.1°,太阳要到西北方向才落下去,西向墙面整个下午都在被照,而下午恰好是一天气温最高的时段。东墙虽然也有上午的直射,但那时气温低、升温慢,体感差别很大。

楼间距可以用冬至正午的影子算。下面是各地冬至正午的影长比——楼高 1 米时投出的影长(北京按 12 月 22 日冬至计算):

城市纬度冬至正午高度影长比夏至正午高度
漠河52.97°N13.7°4.1260.5°
乌鲁木齐43.83°N22.8°2.3869.6°
北京39.90°N26.7°1.9973.5°
喀什39.47°N27.1°1.9574.0°
上海31.23°N35.4°1.4182.2°
广州23.13°N43.5°1.0689.7°

北京冬至正午的影长接近楼高的两倍,广州只比楼高多一点点。这是北方小区楼间距明显大于南方的量化原因。不过要说明:影长比算的是正午那一瞬间,是"正午不遮挡"所需间距的上界;实际规划标准多按大寒日或冬至日连续 2 小时满窗日照来定,取值会比这个数字小一些,各城市规定也不一样。把它当成南北差异的量级来看,别当成设计依据。

同一个数字反过来用就是进光深度:北京冬至正午,阳光射进室内的水平深度约为窗台高度的 1.99 倍;夏至只有 0.30 倍。所以南向大窗在冬天能把阳光送到房间深处,夏天太阳高,同样的窗户反而进不了多少光——这正是被动式太阳能设计最省力的那一半。

☀️ 想看自己城市的具体数字:用日出时间查询和日落时间查询,把日期切到 6 月 21 日和 12 月 22 日各查一次,相减就是当地夏至与冬至的白昼长度;再对比几天前后的数据,本文里那几个"不在当天"的极值,你自己也能找出来。