Calendar和Date之间的转换;system.nanotime()方法;以及System.currentTimeMillis()方法 分别计算运行效率

Posted 小智RE0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Calendar和Date之间的转换;system.nanotime()方法;以及System.currentTimeMillis()方法 分别计算运行效率相关的知识,希望对你有一定的参考价值。


Calendar和Date之间的转换


  • (1) Calendar转化为Date;
  Calendar calendar=Calendar.getInstance();
 Date date=calendar.getTime();
  • (2) Date转化为Calendar;
Date date=new Date();
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);

system.nanotime()方法;以及System.currentTimeMillis()方法 分别计算运行效率


使用system.nanotime()方法:返回的是时间的纳秒值;

1 纳秒 = 0.000001 毫秒
system.nanotime()方法记录的时间起点为随机的.

// System.nanoTime() :返回的是时间的纳秒值
//开始时间;
long start = System.nanoTime();
//执行的一段代码;
String str="100";
for (int i = 0; i < 10000; i++) {
     //为字符串str追加字符
     str+="Java,";
 }
System.out.println(str);
//结束时间;
long end = System.nanoTime();
System.out.println("时间差为:"+(end-start));
//时间差为:457084700
//457084700 纳秒 = 457.08 毫秒

换算得到的system.nanotime()方法时间差
457084700 纳秒 = 457.08 毫秒
System.currentTimeMillis()方法得到的时间差
455毫秒

使用System.currentTimeMillis()方法返回的是毫秒值;

这里的毫秒值为:当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的时间差毫秒数。

//使用System.currentTimeMillis();返回的是毫秒值;
//开始时间;
long start= System.currentTimeMillis();
//执行的一段代码;
String str="100";
for (int i = 0; i < 10000; i++) {
  //为字符串str追加字符
  str+="Java,";
}
System.out.println(str);
long end=System.currentTimeMillis();
System.out.println("时间差为:"+(end-start));
//时间差为:455

对于这段相同的代码,排除机器运行环境等影响因素;system.nanotime()方法的相对于System.currentTimeMillis()方法来说,精度要准一点.由于system.nanotime()方法最终的返回值是以纳秒为单位的;
但是;System.currentTimeMillis()方法是和日期时间相关的,
system.nanotime()方法却没有这个计算功能



以上是关于Calendar和Date之间的转换;system.nanotime()方法;以及System.currentTimeMillis()方法 分别计算运行效率的主要内容,如果未能解决你的问题,请参考以下文章

如何把一个long型转换成日期

CalendarDatelong类型的时间,三者之间如何转化

calendar

常用工具类系列之DateUtil

Date和Calendar

java基础系列--Calendar类