本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/176
1.说明
推荐:请使用System.currentTimeMillis()代替new Date().getTime()
代码语言:javascript复制获取当前毫秒数:System.currentTimeMillis(); 而不是new Date().getTime();
说明:如果想获取更加精确的纳秒级时间值,用System.nanoTime。在JDK8中,针对统计时间等场景,推荐使用Instant类。
public class TimeMillisDemo {
public static void main(String args[]) {
// Positive example:
long a = System.currentTimeMillis();
// Negative example:
long b = new Date().getTime();
System.out.println(a);
System.out.println(b);
}
}
2.示例
代码语言:javascript复制package com.joshua317;
import java.util.Date;
/**
* 请使用System.currentTimeMillis()代替new Date().getTime()
*/
public class Main {
public static void main(String[] args) {
System.out.println("System.currentTimeMillis()方式获取毫秒时间:");
totalTime1();
System.out.println("new Date().getTime()方式获取毫秒时间:");
totalTime2();
}
private static void sleep()
{
try {
// 休眠1秒,1000ms
Thread.sleep(1000);
} catch (Exception e) {
}
}
//推荐方式
public static void totalTime1()
{
//获取开始时间
long startTime=System.currentTimeMillis();
sleep();
//结束时间
long endTime=System.currentTimeMillis();
System.out.println("开始时间:" startTime);
System.out.println("结束时间:" endTime);
long total = endTime - startTime;
System.out.println("耗时时间" total "ms");
}
//不推荐
public static void totalTime2()
{
// 初始化 Date 对象
long startTime = new Date().getTime();
sleep();
//结束时间
long endTime = new Date().getTime();
System.out.println("开始时间:" startTime);
System.out.println("结束时间:" endTime);
long total = endTime - startTime;
System.out.println("耗时时间" total "ms");
}
}
Java
Copy
3.扩展
毫秒是一种较为微小的时间单位,符号为ms,英文:millisecond,
1 秒 =1000 毫秒
1 毫秒 = 1000微秒
1微秒 = 1000纳秒
1纳秒 = 1000皮秒
1s = 1000ms
1ms = 1000μs
1μs = 1000ns
1ns = 1000ps
典型照相机的最短曝光时间为一毫秒。