Widora 1.0.7固件中的时区问题

!


从上图可以看出,当前时间是北京时间2017年9月28日凌晨2点。
但是Widora 1.0.7固件的初始默认设置时区是UTC,在这个时区下当前时间显示为2017年9月27日下午6点,即比北京时间慢了8个小时。北京时间2017年9月28日凌晨2点确实是世界标准时间的2017年9月27日下午6点,因此这个时间是正确的;
北京时间应该是东八区,即UTC+8,假如我们把系统时区设置为UTC+8后,系统显示当前时间为2017年9月27日上午10点,即比正确的北京时间慢了16个小时,因此这个时间是错误的;
假如我们把系统时区设置为西八区,即UTC-8,按道理西八区应该比北京时间慢16个小时,而这个时候系统显示的时间却是2017年9月28日凌晨2点,因此这个时间也是错误的。
所以这应该是Widora 1.0.7固件中的一个bug,除了UTC+0这个时区的时间是正确的,其他时区的时间都搞反了,比如UTC+2这个时区的时间实际上会被显示为UTC-2这个时区的时间;UTC-3这个时区的时间实际上会被显示为UTC+3这个时区的时间。
请芒果有空的时候在新的固件中改正这个错误。谢谢。

POSIX标准就是这么定义的,所以系统没有问题。

这个加减表示的意义和我们正常理解是相反的。
The zone names and output abbreviations adhere to POSIX (portable operating system interface) UNIX conventions, which uses positive (+) signs west of Greenwich and negative (-) signs east of Greenwich, which is the opposite of what is generally expected. For example, “Etc/GMT+4” corresponds to 4 hours behind UTC (that is, west of Greenwich) rather than 4 hours ahead of UTC (Coordinated Universal Time) (east of Greenwich).

@maru-0 确实,锅其实还是UTC处理,回来继续查。

根本不是修改成CST-8的问题。
既然我已经发现了UTC时区时间颠倒的错误,如果我只是想得到正确的时间,我完全可以将错就错,想得到正确的东八区UCT+8的北京时间,就把时区设置成西八区UTC-8就可以了。
但是作为一个总是希望put everything in the right place的强迫症患者,我希望这个时区和时间的错误对应关系(比如设置成东八区得到西八区的时间)这个bug能够得到修正。
而不是希望找到一个能够得到正确的北京时间的方法。

修改成了CST-8(正8区)