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