首先来看看这个bug出现的现象: bug现象 如上图所示,小安派上显示的时间是30点,这个显示的时间显然是有问题的。那么我们就来打开源码来挖一挖这个bug. AiPi-DSL_Dashboard的源码在/AiPi-Open-Kits/AiPi-DSL_Dashboard路径下的。

考虑到这个显示的错误肯定是时间获取哪里的问题。直接从lvgl的组件里面找到显示时间的地方,然后顺腾摸瓜找到显示的时间是怎么获取到的。 发现,时间是通过http请求来获取的时间的。然而获取到的时间是GMT时间,而且我们是需要的GMT+8时区的。但是代码中是这样写的: 源码 看到这里bug的原因就很清楚了。就是拿到GTM时间之后直接就在小时上加了8,这显然是没有考虑进位导致出现这个bug的。 bug源头找到了,那么就来考虑如何解这个bug。