相信将来胜过往
]]>UTC 时间 2016 年 12 月 31 日,23 时 59 分 59 秒 对应的 Unix 时间戳为 1483228799
UTC 时间 2017 年 01 月 01 日,00 时 00 分 00 秒 对应的 Unix 时间戳为 1483228800
那么 UTC 时间的 2016 年 12 月 31 日,23 时 59 分 60 秒该如何表示,是没有与其对应的时间戳,还是说延用 1483228799 呢?
这种情况下,依靠时间戳计时的程序在这一时刻会不会出问题?
]]>假设有人乘坐 0.5c 速度的飞船离开地球,前往 1 光年远处的一个星球,飞船上面顶着一面时钟,地面上可以一直观察到这面钟。飞船飞到星球后立即折返(忽略加速减速过程)。地面上一名工程师一直在观察地面和飞船上的这两个时钟。
那么我们这么考虑:
记录点 1:首先是离开的时刻,这时候地面和飞船的时钟都是 0 。 记录点 2:工程师在地面观察到飞船到达星球。从地面看,2y 时间到达星球,但是观察到该事件,光线回来需要 1y 时间,就是说地面时钟应该是 3y 。飞船上面的情况看,考虑到尺缩,比例应该是 sqrt(1-0.5^2)=0.87 ,这样飞船上到达星球的飞船时钟应该是 0.87/0.5=1.74y 。当地面观察到的时候,光线传递回来需要 1y,所以飞船到达被地面观察到应该是 2.74y 。 记录点 3: 折返回来到达地球的时候,飞船钟面应该是 1.74y*2=3.48y 。而对于地面来说,飞船飞出又折返回来,总的花费时间是 2y*2=4y 。
总结一下: 地面观察到去的时候耗费了 2.74y ,回来只耗费了 1.26y 。
| 事件 | 地面时钟 | 飞船时钟 |
|---|---|---|
| 离开 | 0 | 0 |
| 到达星球 | 2.74y | 1.74y |
| 返回地球 | 4y | 3.48y |
]]>当哥哥经过 1 秒钟以后,弟弟观察到哥哥大概离开地球的距离是 0.9 光秒,此时哥哥的时钟会在大概 0.9s 后传递到地球。也就是说哥哥在 0.9 光秒处的时钟会在 1.9s 后才被弟弟接收到。此时弟弟时间是 1.9s ,认为哥哥是 1s 。
所以弟弟总是认为哥哥那边很慢,哥哥基本没有衰老,当哥哥达到目的地后,两者年龄相差最大了。
但是当哥哥返回地球的时候,假设两个地点,一个是 s1,一个是 s2,对应的时钟哥哥读数是 t1 和 t2 。s1 距离地球更远。假设 t1 时钟经过 dt1 后被弟弟观测到,t2 时钟经过 dt2 后被弟弟观察到。哥哥认为这两个时间差是 dt=t2-t1 。但是弟弟大致认为是 dt - (s2-s1)/c 。(因为 t2 读数的时候距离地球更近,因此用较短的时间可以读取到)。
所以此时弟弟发现哥哥的时钟走得比本地时间要快。这样回家的时候,弟弟认为哥哥变老非常快。 这样说不定两人再次见面的时候两人年龄就同意了。
不知道问题出在哪里。
]]>