毫秒值的概念和作用
java.util.Date: 用于描述时间和日期的类
类 Date 表示特定的瞬间,精确到毫秒。
1秒=1000毫秒
1 天 = 24 × 60 × 60 = 86400 秒 = 86400 * 1000 = 86400000毫秒
--------------------------------------------------------------
时间原点:0毫秒的时间点
1970 年 1 月 1 日 00:00:00 英国格林威治的时间(世界标准时间)
中国:东八区 标准时间+8个小时的时差
1970 年 1 月 1 日 08:00:00
把当前日期和时间转换为毫秒值:就是当前时间和时间原点的一个差值
当前时间(2020年8月10日 11:21:33)-时间原点(1970 年 1 月 1 日 00:00:00) = 1597029762998
--------------------------------------------------------------
毫秒值的作用:在工作中可以使用毫秒值计算两个时间的差值
需求:计算两个时间之间一共经历的多少天
"2020年8月10日 11:21:33" - "2019年7月7日 12:22:22" 字符串没法计算,字符串不能相减
把时间转换为毫秒值,使用毫秒值相减,在把结果转换为天
1597029762998 - 1591313123133 = 12321毫秒==>转换为时间(12321毫秒/1000/60/60/24)天
Date类的构造方法和成员方法
package com.itheima.demo05Date;
import java.util.Date;
/*
java.util.Date类:是一个表示时间和日期的类
*/
public class Demo01Date {
public static void main(String[] args) {
/*
(重点)Date类的空参数构造方法
Date()
CST(时区):中国标准时间(北京,上海)
*/
Date d1 = new Date();
//打印对象名不是地址值,说明Date类重写了Object类的toString
System.out.println(d1);//Fri Mar 18 11:54:36 CST 2022 当前系统的时间和日期
/*
Date类的带参数构造方法
Date(long date) 参数传递毫秒值,把毫秒值转换为Date日期
*/
Date d2 = new Date(0L);
System.out.println(d2);//Thu Jan 01 08:00:00 CST 1970
Date d3 = new Date(5232131231231L);
System.out.println(d3);//Thu Oct 20 09:47:11 CST 2135
/*
(重点)Date类的成员方法:
long getTime() 把当前的Date转换为毫秒值
(1970 年 1 月 1 日 00:00:00 到 当前时间 2022年3月18日12:01:43)所经历的毫秒值
返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
*/
long time = d1.getTime();
System.out.println(time);//1647576138881 毫秒
System.out.println(d2.getTime());//0 毫秒
/*
Date类的成员方法:
void setTime(long time) :参数传递毫秒值,把毫秒转换为Date日期
相当于Date类的带参数构造方法
*/
d1.setTime(0L);
System.out.println(d1);//Thu Jan 01 08:00:00 CST 1970
}
}