Java重点 | Date类

简介: 本文详细的介绍了Date类相关的内容,并以举例的方式,带你深入浅出的理解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++) {
            
        }
    }
相关文章
|
5天前
|
Java 机器人 程序员
深入理解Java中的类与对象:封装、继承与多态
深入理解Java中的类与对象:封装、继承与多态
|
1天前
|
Java 调度
Calendar类在Java中的应用
Calendar类在Java中的应用
|
1天前
|
Java
Java中Integer类的应用
Java中Integer类的应用
|
2天前
|
Java
深入了解Java中的BigDecimal类及其方法
深入了解Java中的BigDecimal类及其方法
9 1
|
4天前
|
存储 Java
心得经验总结:浅谈Java类中的变量初始化顺序
心得经验总结:浅谈Java类中的变量初始化顺序
10 1
|
1天前
|
开发框架 Java
JAVA反射:揭秘!运行时如何窥探类的秘密?
【6月更文挑战第30天】Java反射是运行时检查类信息并动态操作对象的机制。通过`Class`对象,我们可以访问私有成员,如在Person类示例中设置私有变量name和调用方法。反射增加了代码灵活性,常用于动态类型、插件和框架设计。
|
2天前
|
Java 数据安全/隐私保护
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
10 0
|
3天前
|
安全 NoSQL Java
探索Java Optional类:构造器、成员变量与方法
探索Java Optional类:构造器、成员变量与方法
4 0
|
3天前
|
存储 Java API
Java基础之String类
Java的String类是引用类型,用于创建和操作字符串。字符串对象在`java.lang`包中,不可变。创建方式包括字面量和`new`关键字。字符串池存储字符串常量,避免重复。比较字符串用`equals()`(区分大小写)和`equalsIgnoreCase()`(不区分大小写)。`length()`返回长度,`concat()`或`+`拼接,`substring()`截取,`indexOf()`和`lastIndexOf()`查找,`replace()`替换,`split()`分割。这些是常用的字符串API。
7 0
|
3天前
|
Java
Java基础之String类
Java基础之String类
8 0