记安卓新系统的时间系统的问题

之前做了一个可以查看指定日期的干支的APP,今晚突然有人发现日干对应不上日期了。(2021年3月26日是癸酉日,但是软件显示的却是甲戌日(明天的干支))
我一开始以为是算法的问题,结果测试一下,算法没问题。
然后我以为是时区问题,就把时间都设置为东八区。结果还是不行。
我就纳闷了,去年发给别人的时候,为什么没有BUG。
只能祭出日子打印算法了。
结果让我很震惊,下面是我打印的log:

I/System.out: 干支 --> 余数大于0算一天 ?3823113943000  343000.0 
 I/System.out: 干支1616767284000  -2206346659000 
 I/System.out: 干支2021-03-26 22:01:24  1900-01-31 22:01:24 
 I/System.out: 干支1616767284000  -2206346659000
 I/System.out: 干支2021-03-26 22:01:24  1900-01-31 22:01:24
image.png

后面那个日期 和时间戳明显对不上。
然后我调用了getTimezoneOffset()发现,后面的居然是485,前面的是480。好家伙,足足差了5分钟。我以为谷歌这是在针对我大清,把1912年的时间都搞了。经过一番测试,1901年1月1日,时差开始变成了480。看来是1901年之前的时间都是有问题的。

最后,我改变了时间的基点,选择了国庆节作为基点进行日干的计算,纪念我们伟大的共和国。

你可能感兴趣的:(记安卓新系统的时间系统的问题)