一不小心发现一个检测开机时间的函数~

来源:互联网 发布:mac怎么打间隔号 编辑:程序博客网 时间:2024/06/07 02:25

今天不知道哪根筋抽了,对System这个类很不忿,我得看看你还能干什么!

于是看源代码,你妹,大都是隐藏实现。小样,不给我看是不是?那我、那我可要不客气了。(Java中的native方法我觉得不是为了知识产权啦,是为了加快速度,native的,跟机器相关,说白了就是机器码)

好吧,看看注释算了。看着看着,忽然发现,有两个时间函数,一个是System.nanoTime()另外一个是System.currentTimeMillis()。都是时间函数,有什么区别呢,仔细看注释,哦,原来前者是返回Java虚拟机相关的纳秒,后者返回的是当前时间,跟日期大大相关(从1970年开始吧)。

诶,有了currentTimeMillis干嘛还要nanoTime呢?继续看注释,原来这个nanoTime跟日期时间没有半毛钱关系,最大为292年左右,号称极度准确的时间。好吧,那我转换成Date时间好了,看你是个什么玩意儿。

public static void main(String[] args) {    Date date = new Date(System.nanoTime()/1000000);    System.out.println(date);//Thu Jan 01 08:26:49 CST 1970}
好吧,我的电脑是东八区,所以,这个是说返回的二十多分钟的时间。

而我刚刚开机26分钟左右,难道???

重启、运行。

果然,这个函数返回的是开机多久啊。不过不一样的机器不一样,我的机器是win7+intel i7 其他的我就不知道了。

原创粉丝点击