TrailCam

指南

徒步途中跨越时区,会不会让记录的时间出错

骑得够远,或者走一条点对点的长线,路上完全可能悄无声息地跨过一条时区分界线——没有牌子,没有提示,唯一的线索是手机把显示的时刻悄悄换了一下。把一整天的记录交给这部手机之前,会担心这个是很自然的:时钟本身都跳了,记录下来的行进时长会不会也跟着跳?不会,原因倒不是记录软件对时区做了什么聪明的处理,而是行进时长压根就不是拿本地时间算出来的。

先说结论

不会。不管是徒步、骑行,还是别的什么记录中的路线,中途跨过一条时区线本身,不会影响到之后显示的距离、时长、行进时间或配速。GPS 轨迹里的每一个点都带着一个绝对时刻——协调世界时(UTC),不管人站在地球上哪个地方都是同一套基准。而所有跟时间有关的数字,都是靠比较这些绝对时刻算出来的,不是靠读那一刻手机屏幕上显示的"现在几点"算出来的。本地时钟可以在半路上变,架在它上面的这套算法不会跟着变。

底下这套时钟为什么根本没动过

GPS 轨迹给某个点存的,不是"早上九点二十"这种说法,存的是用 UTC 表示的一个瞬间——GPX 文件里的每一个时间戳都遵循同一套约定,原因也一样:一条在某个大陆记录下来的轨迹,拿到另一个大陆打开时,指的必须还是同一个瞬间,而唯一能保证这一点的办法,就是不管人站在哪个时区,都拿同一套永远不变的基准去量。时长、行进时间、配速,全都是靠这些 UTC 瞬间之间的差算出来的——最后一个点的时间戳减去第一个点的,或者把移动区间里逐点之间的差加起来。这套算法里的任何一步,都没有"我现在在哪个时区"这一环节。

跨过时区线之后,真正变了的是什么

一部设成自动更新时区的 iPhone,一旦判断出跨过了分界线,就会重新给显示的时刻贴标签,锁屏上的时钟可能因此往前或往后跳一下。跳动的是贴在某个瞬间上的那个标签——说出口时用来称呼它的说法——不是那个瞬间本身。跨线前一秒记录的点,和跨线后一秒记录的点,用 UTC 去量依然只差一秒,跟前后这两块表盘上分别显示着什么完全无关。

这跟一份 GPX 文件传到别的地方之后,开始时间看着不对劲的情况,其实是同一件事:坐标本身、底层计时的方式都没动,动的只是叠加在上面、给人看的那层时刻显示。

换成秒表会翻车,换成 GPS 轨迹不会

真正会翻车的做法,是把出发时看到的本地时间记在纸上,把到达时看到的本地时间也记在纸上,之后拿两个数字手动相减。要是中间刚好跨过一条时区线,这一减就直接错了——减的是两个压根不在同一把尺子上的数,跟拿摄氏度的读数去减华氏度的读数一样没有意义。记录下来的轨迹不会犯这个错,因为它从来就不是靠相减两个本地时钟读数得出结果的,一直比较的都是两个绝对瞬间,而一个绝对瞬间不会在乎旁边那块表盘上写的是什么。

夏令时切换,道理是一样的

一趟徒步刚好碰上夏令时切换,其实是同一件事的小号版本——没有一条实体的分界线要跨,但本地的时间偏移量整体挪了一个小时。这不会给记录下来的时长带来什么额外风险,原因跟跨时区完全一样:这个偏移量只是为了显示,贴在某个瞬间上的一个标签,被贴标签的那个瞬间本身,不管哪边都没受影响。

容易想岔的地方

  • 看到一条跨了时区的轨迹,开始时间和结束时间对不上的样子,就以为行进时长肯定也算错了——显示出来的时刻看着别扭没关系,行进时长本来就不是从这两个显示出来的标签算出来的,数字依然是对的。
  • 把一趟跨好几天的行程,靠记在什么地方的本地出发和到达时间手动相减来算总时长——这才是真正会翻车的做法,跟 GPS 轨迹本身怎么处理同一次跨线完全是两码事。
  • 以为要让手机知道自己现在在哪个时区,记录才会准——不需要。不管手机自己认为本地在哪个时区,记录始终在往每个点上写绝对时间戳。
  • 担心正好在跨线那一刻处于暂停状态的轨迹会有什么不一样——不会。暂停的那段本来就不记录任何点,跨线期间的时区变化,也就没什么可影响到的东西。

TrailCam 能帮上什么忙

TrailCam 在你出门在外的整段时间里都在后台记录路线,距离、行进时间、配速和累计爬升,都是从实际记录下来的点算出来的。导出的 GPX 1.1 文件,用的也是所有规范 GPX 文件都遵循的同一套 UTC 约定。不管是好几天的长途旅行,还是半天的徒步,手机当下自认为在哪个时区,跟这些数字都没有关系。TrailCam 免费下载,GPX / CSV 导出包含在可选的 TrailCam Pro 里。

常见问题

徒步途中进入新的时区,记录的行进时长会不会差一个小时?
不会。行进时长是从每个记录点上那个绝对的 UTC 时间戳算出来的,不是从手机当时显示的本地时刻算出来的,所以途中跨时区不会改变这个数字。
为了保证记录准确,需要告诉 App 自己现在在哪个时区吗?
不需要。不管手机的时区设置是哪一种,记录都会一直给每个点写绝对时间戳。所有跟时间有关的数字,都是拿这些时间戳互相比较算出来的,不是拿本地时钟去比较的。
如果一趟徒步跨的不是时区,而是夏令时切换呢?
道理完全一样。夏令时切换只是改了贴在某个瞬间上的本地标签,没有改那个瞬间本身,所以对记录时长的影响,跟跨越一条时区线基本没什么区别。

记录你自己的轨迹

TrailCam 是一款 iPhone 上的 GPS 轨迹记录 App,会把沿途拍的视频、照片和语音钉在你拍下它的那个位置,并支持导出成 GPX 1.1 或 CSV。免费下载。

在 App Store 下载