Data类概述和构造方法
Data代表一个特定的时间,精确到毫秒
方法名称 | 说明 |
public Date() | 分配一个Date对象,并初始化,以便代表它所分配的时间,精确到毫秒 |
public Date(Long Date) | 分配一个Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数 |
方法名称 | 说明 |
public long getTIme() | 获取的日期对象从1970年1月1日00:00:00到现在的毫秒值 |
public void setTime(Long time) | 设置时间,给的毫秒值 |
package com.api.Demo07;
import java.util.Date;
/**
* Date日期
*/
public class Test22 {
public static void main(String[] args) {
//注意:Date是import java.util.Date; 不是import java.sql.Date;
Date date = new Date();
//Date类中的 toString() 重写
System.out.println(date);//Mon Oct 16 20:15:25 CST 2023
}
}
打印出来是 Thu Jan 01 08:00:00 CST 1970 的原因?
- 打印出来的时间是8点而非0点,原因是存在系统时间和本地时间的问题,其实系统时间依然是0点,只不过我的电脑时区设置为东8区,故打印出来的结果是8点。
- CST-中国标准时间:China Standard Time UT+8:00
- 格林威治时间(GMT)与中国时间相差8小时
- java 起源于UNIX系统,而UNIX认为1970年1月1日0点是时间纪元。
package com.api.Demo07;
import java.util.Date;
/**
* Date日期
*/
public class Test22 {
public static void main(String[] args) {
//注意:Date是import java.util.Date; 不是import java.sql.Date;
Date date1 = new Date();
//Date类中的 toString() 重写
System.out.println(date1);//Mon Oct 16 20:15:25 CST 2023
//获取的日期对象从1970年1月1日00:00:00到现在的毫秒值
long time = 1000 * 60 * 60; //1小时
Date date2 = new Date(time);
System.out.println(date2);//Thu Jan 01 09:00:00 CST 1970
// 获取到的时间是 格林威治时间(GMT),时差8h,∴09:00:00
Date data3 = new Date(0);//格林威治时间(GMT)
System.out.println(data3);//Thu Jan 01 08:00:00 CST 1970
//1970 1月1日 00:00:00————至今 现在的时刻 当前系统毫秒数(时间戳)
System.out.println(date1.getTime());//1697461834430 ,可以通过在线网站转换成当前时间
date1.setTime(time);//<=>Date date2 = new Date(time);
System.out.println(date1);//Thu Jan 01 09:00:00 CST 1970
}
}
下一篇文章:SimpleDateFormat格式化日期