Java获取毫秒值

1.java.lang.System类

该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。

        System.currentTimeMillis();

2.Calendar类

先由getInstance获取Calendar对象,然后用clear方法将时间重置为(1970.1.1 00:00:00),接下来用set方法设定指定时间,最后用getTimeMillis获取毫秒值。

        Calendar calendar = Calendar.getInstance();
        calendar.clear();
        //指定时间的毫秒数
        calendar.set(2021, 0, 1);
        long millis = calendar.getTimeInMillis();

Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示。 

3.java.util.Date类、SimpleDateFormat类

先由时间格式创建SimpleDateFormat对象,然后通过parse方法由指定时间创建Date对象,最后由Date对象的getTime方法获取毫秒值。

        SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
        Date date = null;
        try {
            //指定时间的毫秒数
            date = format.parse("2021-01-01");
        } catch (ParseException e) {
            e.printStackTrace();
        }
        long millis = date.getTime();

测试

    public static void test() {
        long curTime1 = System.nanoTime();
        System.out.println("System.currentTimeMillis()  " + System.currentTimeMillis() + " 耗时(ns):" + (System.nanoTime() - curTime1));

        long curTime2 = System.nanoTime();
        System.out.println("new Date().getTime()    " + new Date().getTime() + " 耗时(ns):" + (System.nanoTime() - curTime2));

        long curTime3 = System.nanoTime();
        System.out.println("Calendar.getInstance().getTimeInMillis()    " + Calendar.getInstance().getTimeInMillis() + " 耗时(ns):" + (System.nanoTime() - curTime3));
    }

结果

System.currentTimeMillis()  1630315030949 耗时(ns):39600
new Date().getTime()    1630315030949 耗时(ns):500300
Calendar.getInstance().getTimeInMillis()    1630315030956 耗时(ns):19424400

参考:

https://www.cnblogs.com/jpfss/p/10455524.html

转载请注明出处:BestEternity亲笔。

你可能感兴趣的:(java)