因为冬至只是一年中昼长最短的日子而已,日出最晚和日落最早的日子都不在冬至,前者落后于冬至而后者提前于冬至。
原因在于“真一天”(我们将午夜0点,太阳在我们完全背阴面定为一天开始)的长短并不是24小时固定,更不是23小时56分4秒。而是会随着季节变化在24小时附近浮动
事实上,你应该已经知道为什么地球自转的一周不是24小时,而是23小时56分4秒了吧(因为地球会公转,所以自转一圈后,原本正对着太阳的你,会偏离太阳一个角度)
问题就在于,冬季和夏季,由于地球公转快慢是不确定的,所以你偏离太阳的角度也是不一样的,所以事实上每天的长度也不是24小时,而是24小时浮动!
所以尽管冬至确实是真实意义上的昼长最短的时间点,但是日落最早,日出最晚的两个日子都不会在冬至,且因为地球公转速度变化造成的日出日落时间变化的矛盾超过此时每日昼长变化的矛盾,从而让我们发现问题(上海为例,从12月20日开始,到1月初,日出因为地球公转速度变化将近要延迟5分钟,而这期间理论上的日出变化时间却不足1分钟)
过了1月,直射点移动造成的昼夜长短变化就将重新变成主因,这时你就会观察到日出开始提前了。而事实上,2月时分,“真一天”落后才达到极值(14分钟),但此时除非是赤道,否则你根本观测不到这个日出落后的现象!