在Android上设置shell的日期

出于调试目的,我想在某个特定日期运行我的应用程序。 当然,我可以在我的模拟器上手动更改日期,但我想知道是否有一种简单的方法可以从模拟器shell中完成它(我知道无法从UI完成)。

按照之前的回答传递秒 – 自 – 纪元不适用于我的实例(WinXP Android SDK11 HVGA_1.6模拟器)。 但是这种特殊格式有效:

adb shell date -s "yyyymmdd.[[[hh]mm]ss]" 

[编辑2011年6月27日:添加了语法的时间部分。]

我正在使用Win 7。

对我有用的正确格式是:

adb shell date -s“YYYYMMDD.hhmmss”

我在其他线程中看到了这个命令,对我来说真正有用的是以这种方式在settings-> Date&Time下设置选项。 (取消选择自动日期和时间和时区)

模拟器中的日期和时间

来自adb的命令

这在Linux下适用于我,也许需要对夏令时进行一些修正:

 adb shell date -s $(date +%Y%m%d.%H%M%S) 

与linux不同,只有两种方法可以设置日期。 date命令将通过调用设备驱动程序’dev / alarm’来设置时间。

  1. date -s“YYYYMMDD.hhmmss”或
  2. date -u“UTC_TIME_MILLI_SECS”

希望能帮助到你。

拉维潘迪特

以下工作在Mac OS X上与计算机的时间完全一致,并设置秒数。

对于Android 7模拟器,请使用:

 adb -e shell date $(date +%m%d%H%M%Y.%S) 

对于Android 4/5/6模拟器,请使用:

 adb -e shell date -s $(date "+%Y%m%d.%H%M%S") 

注1: -e表示“仿真器”,当您同时连接仿真器和设备时,它可以正常工作。

注2:第一个变体是根据Siva Kranthi Kumar在2016年6月9日发表的评论中发现的。试图使用adb shell date -?的文件adb shell date -? 几乎是不可能的。 它的写得很差而且难以理解。

这适用于mac:

 adb shell date $(date -j mmddHHMM +%s) 

其中“mmddHHMM”是您要设置的月份,日期,小时和分钟。

这将通过使用adb shell在您的模拟器中调用“date”命令,然后将其传递给epoch以来设置时间的秒数(通过在本地mac上调用“date -j …”计算)

你也可以更具体。 日期(在mac上)联机帮助页的格式为[[[mm]dd]HH]MM[[cc]yy][.ss]