android有个获取时间的函数:systemTime(SYSTEM_TIME_MONOTONIC);我想知道SYSTEM_TIME_MONOTONIC什么意思

android有个获取时间的函数:systemTime(SYSTEM_TIME_MONOTONIC);我想知道SYSTEM_TIME_MONOTONIC什么意思?????... android 有个获取时间的函数 :systemTime(SYSTEM_TIME_MONOTONIC);

我想知道SYSTEM_TIME_MONOTONIC什么意思??????
现在打印出来的时间都是两位数,不知到单位是什么,请高手帮忙指导一下!谢谢!
展开
 我来答
zxydh1988
2015-07-03 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:70
采纳率:100%
帮助的人:52.8万
展开全部
获取系统当前的时间。下面的文章希望能帮到您。
在一些系统调用中需要指定时间是用CLOCK_MONOTONIC还是CLOCK_REALTIME,以前总是搞不太清楚它们之间的差别,现在终于有所理解了。
CLOCK_MONOTONIC是monotonic time,而CLOCK_REALTIME是wall time。

monotonic time字面意思是单调时间,实际上它指的是系统启动以后流逝的时间,这是由变量jiffies来记录的。系统每次启动时jiffies初始化为0,每来一个timer interrupt,jiffies加1,也就是说它代表系统启动后流逝的tick数。jiffies一定是单调递增的,因为时间不够逆嘛!

wall time字面意思是挂钟时间,实际上就是指的是现实的时间,这是由变量xtime来记录的。系统每次启动时将CMOS上的RTC时间读入xtime,这个值是"自1970-01-01起经历的秒数、本秒中经历的纳秒数",每来一个timer interrupt,也需要去更新xtime。

以前我一直想不明白,既然每个timer interrupt,jiffies和xtime都要更新,那么不都是单调递增的吗?那它们之间使用时有什么区别呢?昨天看到一篇文章,终于明白了,wall time不一定是单调递增的。因为wall time是指现实中的实际时间,如果系统要与网络中某个节点时间同步、或者由系统管理员觉得这个wall time与现实时间不一致,有可能任意的改变这个wall time。最简单的例子是,我们用户可以去任意修改系统时间,这个被修改的时间应该就是wall time,即xtime,它甚至可以被写入RTC而永久保存。一些应用软件可能就是用到了这个wall time,比如以前用vmware workstation,一启动提示试用期已过,但是只要把系统时间调整一下提前一年,再启动就不会有提示了,这很可能就是因为它启动时用gettimeofday去读wall time,然后判断是否过期,只要将wall time改一下,就可以欺骗过去了。
Crazy冫火
2012-09-28 · TA获得超过124个赞
知道答主
回答量:286
采纳率:100%
帮助的人:175万
展开全部
// 获取现在系统时间
public String getSysNowTime() {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
}

我一般用这个拿时间 yyyy年 MM月 dd日 HH时 mm分 ss秒
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式