第182章 时间回归漏洞(2/2)
但苹果手机开机的时候就有一个这样强制查询过往信息的机制这个几乎无法避免。
这个机制没办法取消,因为关机重启之后手机肯定是要读取一部分先前的日志数据的。
这种情况下如果时间戳是正常时间的话,那么读取先前的日志数据并不会有什么问题。
但当UTC时区1970年 1月 1日 00:00的时候,这个时候时间戳的时间是0。
当局部时间比时间戳 0点更早的情况下。
应该怎么表示比时间戳 0点更早的时间?
似乎没什么好办法。
尽管没别的好办法,系统是机器。
又不是拥有智慧的生物,它一样是要通过查询机制找到更早时间的。
这个时候就会在时间戳0的基础上进行-1操作。
(这是为了在系统时间戳表达的时间上减去相差的秒数来查询之前的内容)
不过在0的基础上-1就比较悲催了。
得到的结果并不是-1。
0-1≠-1?
听起来很匪夷所思,但实际上在程序里面涉及到这种现象比比皆是。