现在的位置: 首页 > 综合 > 正文

android 如何修改对应时区的夏令时、冬令时?

2013年09月01日 ⁄ 综合 ⁄ 共 2170字 ⁄ 字号 评论关闭

V2.3版本时区资源在路径development\tools\zoneinfo\tzdata2010k下,V4.0版本时区资源需去网站ftp://munnari.oz.au/pub/下下载最新的tzdata*.tar.gz,解压后拷贝到路径

Android 4.0\bionic\libc\tools\zoneinfo下。找到对应地区所在的文件,进行修改

转自 http://blog.csdn.net/sergeycao

1)主要关注下1:00表示时区add 1,0表示不做改变

以倒数第四行为例,表示2001年5月1号后的第一个星期天2:00(24h)开始,时区加1;
以倒数第三行为例,表示2001年9月最后星期天2:00(24h)开始,时区还原成原来的 
 
1) 修改完成后,执行路径development/tools/zoneinfo/下的generate脚本(./generate),会在路径bionic/libc/zoneinfo下生成三只文件:
-       zoneinfo.dat
-        zoneinfo.idx
-       zoneinfo.version
将这三只文件push到手机system/usr/share/zoneinfo下就可以了

 
 
说明:

NTP(Network Time Protocol):网络时间协议。NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。

NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。这样就有了准确而可靠的时间源。时间按NTP服务器的等级传播。

完成这个工作的程序是ntpd,ntpd是在后台运行的守护进程。

一些系统使用ntpdate程序,该程序并不是守护进程。

ntpd在时间同步上更加出色,最终将取代ntpdate,所以不推荐使用ntpd,更不推荐使用更古老的rdate

UTC(Coordinated Universal Time):协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC。它从英文“Coordinated Universal Time”/法文“Temps Universel Cordonné”而来。

美国时区与UTC之间的关系

缩写 时区 与UTC的时差
UTC 协调世界时 0
GMT 格林威治标准时间 同UTC
UT 世界时间 同UTC
EST 东部标准时间 -5小时
EDT 东部夏令时间 -4小时
CST 中央标准时间 -6小时
CDT 中央夏令时间 -5小时
MST 山区标准时间 -7小时
MDT 山区夏令时间 -6小时
PST 太平洋标准时间 -8小时
PDT 太平洋夏令时间 -7小时

注意:UTC、GMT和UT之间存在技术上的区别,但是从实际使用上讲,可以认为他们是相同的

注意:美国的大部分地区在三月的第二个星期日改为夏令制时间,在十一月的第一个星期日改回标准时间

欧洲和印度时区与UTC之间的关系

缩写 时区 与UTC的时差
WET 西欧时间 同UTC
WEST 西欧夏季时间 +1小时
BST 英国夏季时间 +1小时
IST 爱尔兰夏季时间 +1小时
CET 中部欧洲时间 +1小时
CEST 中部欧洲夏季时间 +2小时
EET 东部欧洲时间 +2小时
EEST 东部欧洲夏季时间 +3小时
IST 印度标准时间 +5.5小时

注意:在欧洲大多数地方,一般在三月最后的一个星期日改成夏季时间,在十月的最后一个星期日改回常规时间

Unix将时区信息记录在tz或zoneinfo数据库的标准参考库中。有时将这个数据库称为Olson数据库

在Android4.0中,关于zoneinfo的源码在bionic/libc/tools/zoneinfo,下面有一个可执行文件generate

执行generate,会生成需要的二进制文件

(看来编译的时候需要联网)

(log)

Looking for new tzdata...

2012-11-22 13:02:35 URL: ftp://munnari.oz.au/pub/tzdata*.tar.gz [1175] -> ".listing" [1]

生成的二进制文件在bionic/libc/zoneinfo

V2.3版本时区资源在路径development\tools\zoneinfo\tzdata2010k下,V4.0版本时区资源需去网站ftp://munnari.oz.au/pub/下下载最新的tzdata*.tar.gz,解压后拷贝到路径

Android 4.0\bionic\libc\tools\zoneinfo下。找到对应地区所在的文件,进行修改

转自 http://blog.csdn.net/sergeycao

1)主要关注下1:00表示时区add 1,0表示不做改变

以倒数第四行为例,表示2001年5月1号后的第一个星期天2:00(24h)开始,时区加1;
以倒数第三行为例,表示2001年9月最后星期天2:00(24h)开始,时区还原成原来的 
 
1) 修改完成后,执行路径development/tools/zoneinfo/下的generate脚本(./generate),会在路径bionic/libc/zoneinfo下生成三只文件:
-       zoneinfo.dat
-        zoneinfo.idx
-       zoneinfo.version
将这三只文件push到手机system/usr/share/zoneinfo下就可以了

抱歉!评论已关闭.