System类获得时间戳的方法和两种Date类的使用
package java1;
import org.junit.Test;
import java.util.Date;
/**
* JDK 8之前日期和时间的API测试
*/
public class DateTimeTest {
//2、两种Date类的使用
/*
父子类关系
java.util.Date类
|---java.sql.Date类
1.两个构造器的使用
>构造器一:Date():创建一个对应当前时间的Date对象
>构造器二:创建指定毫秒数的Date对象
2.两个方法的使用
>toString():显示当前的年、月、日、时、分、秒
>getTime():获取当前Date对象对应的毫秒数。(时间戳)
3. java.sql.Date对应着数据库中的日期类型的变量
>如何实例化(java.sql.Date date3 = new java.sql.Date(35235325345L);)
>如何将java.util.Date对象转换为java.sql.Date对象
*/
@Test
public void test2(){
//构造器一:Date():创建一个对应当前时间的Date对象
Date date1 = new Date();//java.util.Date类
System.out.println(date1.toString());//Fri Jan 28 22:41:55 CST 2022
System.out.println(date1.getTime());//1643380915301
//构造器二:创建指定毫秒数的Date对象
Date date2 = new Date(1643380915301L);//java.sql.Date类, 参数是long类型所以要末尾加L
System.out.println(date2.toString());//Fri Jan 28 22:41:55 CST 2022
//创建java.sql.Date对象
java.sql.Date date3 = new java.sql.Date(35235325345L);
System.out.println(date3);//1971-02-13
//将java.sql.Date对象转换为java.util.Date对象,直接赋值就行,多态
//如何将java.util.Date对象转换为java.sql.Date对象
//情况一:
Date date4 = new java.sql.Date(2343243242323L);//子类java.sql.Date赋给父类Date,此时能强转
java.sql.Date date5 = (java.sql.Date) date4;
//情况二:
Date date6 = new Date();
//java.sql.Date date7 = (java.sql.Date) date6;//这样不能强转
java.sql.Date date7 = new java.sql.Date(date6.getTime());//毫秒数拿过来作为 其构造器参数
}
//1.System类中的currentTimeMillis()
@Test
public void test1(){
long time = System.currentTimeMillis();
//返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。
//通常把这个毫秒数称为时间戳
System.out.println(time);//写笔记时返回的是 1643380611133
}
}