Android系统中添加时区

复制代码
解决方案:以加入Nigeria时区为例,应该如下修改:
1.找到该国家在zoneinfo中的时区信息。
区信息的文件可以从ftp://munnari.oz.au/pub/下载到最新的,解压tzdata201x*.tar.gz后,在每个地区的txt文件中有城市的时区信息,搜索是否有您要添加的城市,则该时区可以添加;如果没有搜索到相关的国家或城市,则需要考虑使用别的城市的时区。
比如在africa.txt中搜索Nigeria,可以找到下面的内容:
# Nigeria
# Zone NAME  GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
   1:00 - WAT
这样可以看到,尼日利亚只有一个城市可以作为时区ID,这个ID就是Africa/Lagos。

2.修改packages/apps/Settings/res/xml-xx-xx/timezones.xml (xx-xx表示不同的语言和区域),添加下面的内容:
    <!-- timezones.xml 用于在setting中增加一个时区设置项 -->
    <timezone id="Africa/Lagos">Lagos</timezone>

3.修改framework/base/core/res/res/xml/time_zones_by_country.xml,添加下面的内容
    <!--time_zones_by_country.xml 这个用于自动匹配时区时使用,通过country code找一个时区 -->
    <!-- Nigeria, 1:00 -->
    <timezone code="ng">Africa/Lagos</timezone>
    <!-- 这里的code="ri"表示国家代码,比如中国对应cn,美国对应us,不清楚可以维基百科查询ISO_3166-1-->

这是添加一个时区的步骤,如果要添加多个时区,请重复或批量执行以上步骤。
复制代码

 

posted @   MMLoveMeMM  阅读(1866)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示