Date类概述和构造方法:该类不是最终类,即可以存在子类。该类继承了Object类,并且实现了Serializable、Cloneable、Comparable
我们学习的是util下的Date类
Date类代表了一个特点的时间,以毫秒为精度
我们只学习Date里面的2个没有过时的构造方法,即无参public Date()、带参public Date(long date)
Date类的练习
xxxxxxxxxxpackage 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类常用方法的练习
xxxxxxxxxxpackage 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); //注意这个输出的是当前时间
}}