python自动脚本4-同步电脑的时间到手机

如题,工程师总是在刷各个测试版本,每个版本可能时间都不一致,默认是生成版本的时间,定位问题时手机的时间和电脑时间对不上。
如:logcat获取日志的时间是跟随手机。而sniffer(WiFi的空口帧)的时间跟随的是电脑的时间。
所以需要刷机后同步电脑和手机的时间。代码如下:

import os, time

# 十二个月列表
time_to_num = {'Jan':'1', 'Feb':'2', 'Mar':'3', 'Apr':'4',
               'May':'5', 'Jun':'6', 'Jul':'7', 'Aug':'8',
               'Sep':'9', 'Oct':'10', 'Nov':'11', 'Dec':'12'}

os.system("adb root")
os.system("adb wait-for-device")
os.system('adb shell "setprop persist.sys.timezone Asia/Shanghai"')
os.system('adb shell "am broadcast -a android.intent.action.TIMEZONE_CHANGED"')
times = time.ctime()
# print(times)
times_str = times.split()      # 以空格分隔时间字符
# 星期 月 日 时:分:秒  年
time_h_m_s = times_str[3].split(":")  # 时,分,秒

# 060815542020.25  按照顺序:月 日 时 分 年 . 秒
time_now = time_to_num[times_str[1]] + times_str[2] + 
           time_h_m_s[0] + time_h_m_s[1] + times_str[4] + "." + time_h_m_s[2]
# print(time_now)
os.system('adb shell "date ' + time_now + '"')
os.system("pause")

bat脚本:

adb root

set CCYY=%date:~0,4%
set MMDD=%date:~5,2%%date:~8,2%
set hhmm=%time:~0,2%%time:~3,2%
set hhmm=%hhmm: =0%
set /a ss=%time:~6,2%
set /a ss=ss+1
adb shell "setprop persist.sys.timezone Asia/Shanghai"
adb shell "am broadcast -a android.intent.action.TIMEZONE_CHANGED"
adb shell "date %MMDD%%hhmm%%CCYY%.%ss%"

pause

注:附件中的bat没有对ss进行加1处理,由于实际情况会慢1秒,所有进行加1.

源码(脚本注释有bat脚本):


绿色声明:代码来源自网络和个人修改,源码不是一次完成的,也没有经过精益求精,只是表达一种解决问题的思路而已。实现基本功能,如果有好的优化方案或者是添加其它功能,欢迎留言。

风凉

时人不识凌云木,直待凌云始道高。

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐

暂无内容!

Warning: file_put_contents(): Only 0 of 86 bytes written, possibly out of free disk space in /www/wwwroot/www.iliuqi.com/wp-content/plugins/download-manager/libs/class.Session.php on line 80