Android 如何添加一個新的時區

前言

         歡迎大傢我分享和推薦好用的代碼段~~

聲明

         歡迎轉載,但請保留文章原始出處:

         CSDN:https://www.csdn.net

         雨季o莫憂離:https://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–>

 

這是添加一個時區的步驟,如果要添加多個時區,請重復或批量執行以上步驟。

 

發佈留言