Date类概述和构造方法:该类不是最终类,即可以存在子类。该类继承了Object类,并且实现了Serializable、Cloneable、Comparable
我们学习的是util下的Date类
Date类代表了一个特点的时间,以毫秒为精度
我们只学习Date里面的2个没有过时的构造方法,即无参public Date()、带参public Date(long date)
Date类的练习
xxxxxxxxxx
package ch12;
import java.util.Date; //注意我们要使用util包下的。不要使用sql包下的Date
public class a_12_1测试 {
public static void main(String[] args) {
//public Date()。分配一个Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒
Date d1 = new Date();
System.out.println(d1); //按理说输出的应该是地址值。但是我们输出了具体的时间,说明Date类自动重写了toString方法
//public Date(long date)。分配一个Date对象,并将其初始化为表示从标准基准时间(1970/01/01/08:00)起指定的毫秒数
long date = 1000*60*60; //先定义一个long类型的变量,作为下面那行的参数。*是相乘的意思,注意1000毫秒=1秒,即1秒*60*60,即共1小时
Date d2 = new Date(date);
System.out.println(d2); //输出1970/01/01/08:00 + 1小时 = 1970/01/01/09:00
}
}
Date类常用方法
方法名 | 说明 |
---|---|
public long getTime() | 获取的是日期对象从1970年1月1日0时0分0秒(我国是东八区,所以对于我国是8时0分0秒)到现在的毫秒值 |
public void setTime(long time) | 设置时间,给的是毫秒值 |
Date类常用方法的练习
xxxxxxxxxx
package ch12;
import java.util.Date;
public class a_13_1测试 {
public static void main(String[] args) {
//创建日期对象
Date d = new Date();
//public long getTime() 获取的是日期对象从1970年1月1日0时0分0秒(我国是东八区,所以对于我国是8时0分0秒)到现在的毫秒值
System.out.println(d.getTime());//输出1664605464256
System.out.println(d.getTime() * 1.0 / 1000 / 60 / 60 / 24 / 365 + "年");//1000毫秒=1秒,即1秒*60*60,即共1小时
System.out.println("-------------");
//public void setTime(long time) 设置时间,给的是毫秒值
System.out.println(d);//当前时间
//先设置毫秒值
long time = 1000*60*60;
//使用setTime
d.setTime(time);
System.out.println(d);//1970年1月1日8时0分0秒+1小时=1970/1/1/9:0:0 。注意我国是东八区
//注意
long time2 = System.currentTimeMillis(); //系统类获取的当前时间
d.setTime(time2);
System.out.println(d); //注意这个输出的是当前时间
}
}