• Android 如何添加一个新的时区


    前言
             欢迎大家我分享和推荐好用的代码段~~
    声明
             欢迎转载,但请保留文章原始出处:
             CSDN:
    http://www.csdn.net
             雨季o莫忧离:http://blog.csdn.net/luckkof

    正文

     

     

    解决方案:以加入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-->
     
    这是添加一个时区的步骤,如果要添加多个时区,请重复或批量执行以上步骤。
  • 相关阅读:
    C实现类封装、继承、多态
    运算符重载详解
    类定义 对象数组
    Install KVM Hypervisor on arrch64 Linux Server
    Failed to load package MonoAndroidDesignerPackage
    C# is和as操作符
    C#中out和ref之间的区别
    C#中 const 和 readonly 的区别
    C#版本和.NET版本以及VS版本的对应关系
    各类纤程/协程使用比较
  • 原文地址:https://www.cnblogs.com/james1207/p/3366231.html
Copyright © 2020-2023  润新知