Date类学习了解

1.Date类的了解叙述

 

java.util.Date类表示特定的瞬间,精确到毫秒。

继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,

但是其中未过时的构造函数可以把毫秒值转化成日期对象。

 

在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。

尽管 Date 类打算反映协调世界时 (UTC),但无法做到如此准确,这取决于 Java 虚拟机的主机环境。当前几乎所有操作系统都假定 1 天 = 24 × 60 × 60 = 86400 秒。但对于 UTC,大约每一两年出现一次额外的一秒,称为“闰秒”。闰秒始终作为当天的最后一秒增加,并且始终在 12 月 31 日或 6 月 30 日增加。例如,1995 年的最后一分钟是 61 秒,因为增加了闰秒。大多数计算机时钟不是特别的准确,因此不能反映闰秒的差别。

 

public Date()

分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

 

public Date(long date)

分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒

参数:

date - 自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。

 

tips:由于我们处于东八区,所以我们的基准时间为1970年1月1日8时0分0秒。

 

简单的说:使用无参数构造,可以自动设置当前系统时间的毫秒时刻;

指定long类型的构造参数,可以自定义毫秒时刻。

 

例如:

public class DemoDate {
    public static void main(String[] args) {
        //获取当前系统一共到1970年1月1日00:00:00经历了多少毫秒
        System.out.println(System.currentTimeMillis());
    }
}

 

2.Date类的构造方法和成员方法

①Date类的空参数构造方法

Date()获取当前系统的日期和时间

 

在java.util.Date包下

public Date()

分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

import java.util.Date;

public class demoDate {
    public static void main(String[] args) {
        demo1();
    }
    private static void demo1() {
        Date date = new Date();
        System.out.println(date);  //Thu Aug 29 14:36:01 CST 2019

    }
}

 

②Date类的带参数构造方法

Date(long date) : 传递毫秒值,把毫秒值转换为Date日期

 

JDK文档中:

public Date(long date)分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

 

参数:

date - 自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。

import java.util.Date;

public class demoDate2 {
    public static void main(String[] args) {
        demo2();
    }
     private static void demo2() {
        Date date = new Date(0L);
        System.out.println(date);
    }
}

 

③long getTime()

把日期转换为毫秒值(相当于System.currentTimeMillis()方法)

public long getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

import java.util.Date;

/**
 * @Author: Jason
 * @Date: 2019/8/29 14:43
 * @Version 1.0
 */
public class demoDate3 {
    public static void main(String[] args) {
        demo3();
    
    }
    private static void demo3() {
        Date date = new Date();
        long time = date.getTime();
        System.out.println(time);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值