Android 修改默认时区

首先介绍应用程序修改 : 

AlarmManager mAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
            mAlarmManager.setTimeZone("America/Santiago");// Asia/Taipei//GMT+08:00
            // mAlarmManager.setTimeZone("Asia/Taipei");
            TimeZone tz = TimeZone.getDefault();
            
            // tz.setID("GMT+08:00");//

            Toast.makeText(
                    this,
                    "zone : " + tz.getID() + " itz : "
                            + tz.getTimeZone("GMT+08:00"), Toast.LENGTH_SHORT)
                    .show();

注意下面的一句 :

mAlarmManager.setTimeZone("America/Santiago");

"America/Santiago" 是XML一个ID值,这个ID值来自 : 下面xml中id后面的赋值

<timezone id="Pacific/Majuro">马朱罗</timezone>
    <timezone id="Pacific/Midway">中途岛</timezone>
    <timezone id="Pacific/Honolulu">檀香山</timezone>
    <timezone id="America/Anchorage">安克雷奇</timezone>

上面只列出部分项.

修改后,进入Setting->Date & Time->Select time zone项,既可以看到结果.

 

其次可以通过系统修改,通过系统修改是修改系统默认值:

Android 系统默认时区为GMT + 00:00,在设置中的“日期和时间”中可以看到,下面是修改默认时区的方法。

在Android源码中找到Device/(设备或平台名称)/(这里可能还有一层是编译的代号之类的吧)/system.prop 

 

在其中添加,若已存在则修改为 persist.sys.timezone=Asia/Shanghai

 

persist.sys.timezone属性的对应值在如下文件中,frameworks\base\core\res\res\xml\time_zones_by_country.xml

这个xml文件中可以找到中国所在的 GMT + 8:00时区的对应值

复制代码
 <!-- CHINA, 8:00 -->

    <timezone code="cn">Asia/Shanghai</timezone>
    <timezone code="cn">Asia/Harbin</timezone>
    <timezone code="cn">Asia/Chongqing</timezone>
    <timezone code="cn">Asia/Urumqi</timezone>
    <timezone code="cn">Asia/Kashgar</timezone>
复制代码

 

修改完之后需要重新编译整个系统,编译后的结果在/out/target/product/(以设备平台名称编译版本命名的文件夹)/system/build.prop中可以看到。

 

system.prop 这个文件中还可以修改其他一些默认属性,例如默认的显示语言和国家区域如下:

ro.product.locale.language=zh ro.product.locale.region=CN

 

 

http://www.cnblogs.com/wuwangSaber/archive/2012/09/03/2669714.html

 

转载于:https://www.cnblogs.com/MMLoveMeMM/articles/3742068.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值