我希望使用adb shell命令来更改时区。
我查看了一些允许在Linux中更改时区的文章,但是它们在Android上无效。
我查看http://en.wikipedia.org/wiki/List_of_tz_database_time_zones以获得时区数据列表。
使用setprop persist.sys.timezone <TZ>
命令设置时区:
setprop persist.sys.timezone "America/Chicago"
adb shell service call alarm 3 s16 America/Phoenix
,此命令将立即生效。
setprop with persist.sys.timezone
只有在重启后才能生效。
adb shell service call alarm 4 s16 America/Chicago
4 - 代表报警服务实现中的第四个功能。
s16 - 代表字符串参数类型。
这适用于ADB
获取当前全球时区:
adb shell settings get global time_zone
设置时区:
adb shell settings put global time_zone Europe/Madrid
时区列表:
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
我更改了2个文件以更改我的时区。
其中一个我不确定是否必要,但它可以保持同步:
/etc/timezone
你确实需要更改的越多:
/etc/localtime
从http://www.cyberciti.biz/faq/linux-unix-set-tz-environment-variable/,您可以使用tzselect
确定所需的时区名称。
我受到http://www.cyberciti.biz/faq/howto-set-date-and-time-timezone-in-freebsd/的启发,并将我的时区文件从/usr/share/zoneinfo/
复制到/etc/localtime
。
/etc/timezone
是一个包含时区名称的文本文件。因此,我只需更新它以匹配tzselect
提供的值即可。
getprop
显示值,但是setprop
没有效果。我猜可能需要 root 权限。 - scorpiodawg