获取当前日期的Android终端命令

获取当前日期的Android终端命令,android,time,Android,Time,我在MK808 android stick上开发,我需要设置时区和日期 对于设置时区,我使用->su-c setprop persist.sys.timezone“America/Chicago” 这个命令工作正常,但它不会改变设备时钟在那个时候,我需要重新启动我的设备。设备重新启动后,设备时间按预期更改为CST 我尝试执行命令“date”来获取当前日期。我的问题是,我从该命令获得的日期应该偏移到夏令时还是不需要偏移 有人能告诉我一个解决方案,在我改变时区后消除设备重启吗??因此,一旦我更改时区

我在MK808 android stick上开发,我需要设置时区和日期

对于设置时区,我使用->su-c setprop persist.sys.timezone“America/Chicago”

这个命令工作正常,但它不会改变设备时钟在那个时候,我需要重新启动我的设备。设备重新启动后,设备时间按预期更改为CST

我尝试执行命令“date”来获取当前日期。我的问题是,我从该命令获得的日期应该偏移到夏令时还是不需要偏移

有人能告诉我一个解决方案,在我改变时区后消除设备重启吗??因此,一旦我更改时区,我的设备时钟就应该更改


谢谢大家!

改变时区不会改变时钟,时钟通常是UTC 1970年1月1日以来的秒数。它只是改变了时间的解释方式

如果
TZ
环境变量在中为空,则会查阅
persist.sys.timezone
属性。如果希望属性生效,请确保未设置
TZ

% adb shell
# date
Thu Oct  3 13:33:34 PDT 2013
# TZ=US/Eastern date                                                
Thu Oct  3 16:33:38 EDT 2013
快速查看仿生libc中的代码表明,
persist.sys.timezone
在每次调用
localtime()
时都会被检查。属性集立即生效:

# date
Thu Oct  3 13:39:42 PDT 2013
# setprop persist.sys.timezone US/Eastern
# date
Thu Oct  3 16:39:51 EDT 2013
但是,这只适用于本机代码。Android框架有自己的时区处理(例如,您可以看到它在运行期间检查属性)