> 文章列表 > Android 9.0 系统关闭时区夏令时功能

Android 9.0 系统关闭时区夏令时功能

Android 9.0 系统关闭时区夏令时功能

1.前言

在9.0的系统rom定制化开发中,在开发国际化项目中,对于有些地区执行夏令时,导致时间对不上,也有可能
一个国家某些地区执行夏令时而一些国家不执行夏令时,导致时间不一样,所以为了避免麻烦,就关闭系统的夏令时功能
夏令时会比正常时间晚一小时。这就需要分析时间差在哪,关闭掉就可以了

2.系统关闭时区夏令时功能的核心代码块部分

bionic\\libc\\tzcode\\bionic.cppbionic\\libc\\tzcode\\localtime.clibcore\\luni\\src\\main\\java\\libcore\\util\\ZoneInfo.java

3.系统关闭时区夏令时功能的分析和功能的实现
3.1 bionic.cpp中关于获取时区的功能分析

     #include <arpa/inet.h> // For ntohl(3).#include <errno.h>#include <fcntl.h>#include <stdint.h>#include <stdlib.h>#include <unistd.h>#include \"private/CachedProperty.h\"extern \"C\" void tzset_unlocked(void);extern \"C\" int __bionic_open_tzdata(const char*, int32_t*);extern \"C\" void tzsetlcl(char const*);void tzset_unloc