如何用毫秒或纳秒分辨率测量adb shell的时间?
使用adb shell中的date +%.%N
返回1401546811.N
(秒分辨率),而不是1401547289.231869798
(纳秒分辨率)。
如何从adb shell获得毫秒或纳秒的分辨率?
我可以使用一些终端程序给我这个吗?
我可以使用Android应用程序代码本身的System.currentTimeMillis()
和System.nanoTime()
来衡量时间,但我还需要adb shell
内的内容。
答案 0 :(得分:16)
mksh
(自4.0版以来标准的Android shell )具有内置的EPOCHREALTIME
环境变量:
自
gettimeofday(2)
返回的纪元以来的时间,格式为十进制 tv_sec ,后跟一个点.
和 tv_usec 填充到六个十进制数字。
因此,在Windows中以微秒准确度获得epoch
时间的命令将是:
adb shell echo $EPOCHREALTIME
或在Linux中:
adb shell 'echo $EPOCHREALTIME'
如果你只需要毫秒精度:
adb shell 'echo ${EPOCHREALTIME:0:14}'
或者只是使用其他时间格式的毫秒部分:
adb shell 'echo $(date +%T)${EPOCHREALTIME:10:4}'
答案 1 :(得分:0)
通过使用botbrew解决了我的问题。可能不是主意,但至少它现在有效。
/data/botbrew-basil/init -- date +%s.%N
- 返回纳秒分辨率。
答案 2 :(得分:0)
adb shell echo $EPOCHREALTIME
为您提供微秒的时间,
(不要在变量名前加上'\')