本文目录一览:
JAVA中如何获取毫秒和微秒数
一、获取毫秒数的代码:
(1)System.currentTimeMillis() 这种方式速度最快。
(2)Calendar.getInstance().getTimeInMillis() 这种方式速度最慢。
二、获取微秒数的代码:
微秒使用System.nanoTime()方法:如果Java程序需要高精度的计时,如1毫秒或者更小,使用System.nanoTime()方法,可以满足需求。
扩展资料:
获取微秒函数System.nanoTime() 的隐患:
System.currentTimeMillis() 起始时间是基于 1970.1.1 0:00:00 这个确定的时间的,而System.nanoTime()是基于cpu核心的时钟周期来计时,它的开始时间是不确定的。
但是在多核处理器上,由于每个核心的开始时间不确定,那么
“long start = System.nanoTime();String ip = Utilities.getIpByUrl(url);long cost = System.nanoTime() - start; ”
这段代码有可能会运行在两个不同的cpu核心上,从而导致得到的结果完全不符逻辑。
java如何把时间格式转为毫秒
获取毫秒数,即long类型的数值,仅能返回自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
一楼、二楼的回答就是正确的,不过在使用中还需要根据自身使用环境,直接使用或者进一步按需优化后再使用。
最常使用的就是,把String类型的日期先转换为Date类型,最后直接调用.getTime()即可,这也是比较方便的了。
还有就是以上提到的Timestamp类中的valueOf(String s) 方法,这里一定要注意,给定的字符串日期型数据必须符合置顶指定格式:yyyy-mm-dd hh:mm:ss[.fffffffff],否则会抛出异常。
PS
为什么Java默认为毫秒
精度高。毫秒是秒的千分之一,精度很高,因为Java是一个编写代码的程序,要求必有要有非常高的精度,所以会默认为毫秒。Java是一门面向对象编程语言,1990年代初由詹姆斯·高斯林等人开发出Java语言的雏形,最初被命名为Oak,后随着互联网的发展,经过对Oak的改造,1995年5月Java正式发布。