Android 设置系统时间

使用 ADB 命令 date 设置时间

Android 6.0 提供了新的date命令格式

Default SET format is "MMDDhhmm[[CC]YY][.ss]", that's (2 digits each)
month, day, hour (0-23), and minute. Optionally century, year, and second.

因此使用adb中的date命令不能像以前一样使用-s了

新的命令格式如下:

adb shell date 101716502019.00

10对应的是月(MM),17对应的是日(DD),16对应的是时(hh),50对应的是分(mm),2019对应的是年(YY),.00对应的是秒(.ss)

如果硬件有RTC的话还需要执行下面一步

adb shell hwclock -uw

看一下两个参数:

-u      Hardware clock uses UTC (--utc)
-w      Set hardware clock from system time (--systohc)

-w 是同步时间的参数,-u 是兼容时区的参数

如果不添加-u参数而仅使用hwclock -w命令,重启系统后如果时区使用的是中国时区,时间会往后推8个小时(取决于设置的时区)

最后:date命令只有root用户才能用于设置时间,普通用户只能使用date命令显示时间

使用 SystemClock 设置时间

private fun setSystemTime(year: String, month: String, day: String, hour: String, minute: String) {
	valc =Calendar.getInstance()
	c[Calendar.YEAR] = year.toInt()
	c[Calendar.MONTH] = month.toInt() - 1
	c[Calendar.DAY_OF_MONTH] = day.toInt()
	c[Calendar.HOUR] = hour.toInt()
	c[Calendar.MINUTE] = minute.toInt()
	val value = c.timeInMillis
	if (value / 1000 < Int.MAX_VALUE) {
	    SystemClock.setCurrentTimeMillis(value)
	}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值