写点什么

Java 重点 | Date 类

作者:几分醉意.
  • 2022-10-29
    安徽
  • 本文字数:1400 字

    阅读完需:约 5 分钟

Java重点 | Date类

Date 类

java.util.Date:表示日期和时间的类,Date 表示特定的瞬间,精确到毫秒。

毫秒值的概念与作用

毫秒:千分之一秒,1000 毫秒=1。秒特定的瞬间:一个时间点,一刹那时间例如:2088-08-08 09:55:33:333 瞬间 2088-08-0809:55:33:334 瞬间 2088-08-08 09:55:33:335 瞬间...


毫秒值的作用:可以对时间和日期进行计算。2022-01-01 到 2088-01-01 中间一共有多少天?可以日期转换为毫秒进行计算,计算完毕,在把毫秒转换为日期。


把日期转换为毫秒:当前的日期:2022-08-28 时间原点(0 毫秒):1970 年 1 月 1 日 00:00:00(英国格林威治)就是计算当前日期到时间原点之间一共经历了多少毫秒(374267540068L)注意:中国属于东八区,会把时间增加 8 个小时 1970 年 1 月 1 日 08:00:00


把毫秒转换为日期:1 天=24x60x60=86400 秒=86400x1000=86400000 毫秒

构造方法

学习类都是一个过程,先学习这个类的构造方法;有了构造方法后,就可以创建对象,然后通过对象调用它里面的成员方法。

无参构造

public static void main(String[] args) {        //Data的空参数构造方法-Data()获取当前系统的时间(精确到毫秒的系统当前时间)        Date date = new Date();        //java.util.Date类的toString()方法已经被重写了        //所以直接输出对象,不是这个对象的内存地址,而是一个日期字符串        System.out.println(date); //输出:Sun Aug 28 21:18:47 CST 2022    }
复制代码

有参构造

public static void main(String[] args) {        // Date类的带参数构造方法        //Date(long date) :传递毫秒值转换为Date日期        Date date = new Date(0L); //把参数里面的毫秒转成对应的日期        System.out.println(date); //输出:Thu Jan 01 08:00:00 CST 1970
Date date1 = new Date(1620543792746L); //把参数里面的毫秒转成对应的日期 System.out.println(date1); //输出:Sun May 09 15:03:12 CST 2021 }
复制代码

成员方法 getTime()

public static void main(String[] args) {        // Long getTime()把日期转换为毫秒值(相当于System.currentTimeMillis()方法)        // 返回自1970年 1月一日 00:00:00 到当前系统时间一共经历了多少毫秒        Date date = new Date();        long time = date.getTime();        System.out.println(time); //1661693372684    }
复制代码

currentTimeMillis 方法

此方法是 System 类的一个方法,作用和 getTime()一样,返回自 1970 年 1 月一日 00:00:00 到当前系统时间一共经历了多少毫秒。


public static void main(String[] args) {        Long TimeMillis = System.currentTimeMillis();        System.out.println(TimeMillis); //输出:1661693849165    }
复制代码


那么这个方法可以用来干什么呢?看的出来,经过测试,下列代码空循环一亿次,用了 3 毫秒


public static void main(String[] args) {        //统计一个方法的耗时        //在调用目标方法之前记录一个毫秒数        Long TimeMillis = System.currentTimeMillis();        //这里调用方法        print();        //在执行完目标方法之后记录一个毫秒数        Long end = System.currentTimeMillis();
System.out.println("耗费时长:"+(end-TimeMillis)+"毫秒"); //输出:耗费时长:3毫秒 }
public static void print(){ for (int i = 0; i < 100000000; i++) { } }
复制代码


发布于: 刚刚阅读数: 3
用户头像

几分醉意.

关注

还未添加个人签名 2022-10-22 加入

还未添加个人简介

评论

发布
暂无评论
Java重点 | Date类_Java_几分醉意._InfoQ写作社区