一、JDK8之前日期时间API
1.获取系统当前时间
System类中的currentTimeMillis()
@Test
public void test1(){
long time = System.currentTimeMillis();
//返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。
//称为时间戳
System.out.println(time);
}
2. java.util.Date类与java.sql.Date类
java.util.Date类
|—java.sql.Date类
1.两个构造器的使用
>构造器一:Date():创建一个对应当前时间的Date对象
>构造器二:创建指定毫秒数的Date对象
2.两个方法的使用
>toString():显示当前的年、月、日、时、分、秒
>getTime():获取当前Date对象对应的毫秒数。(时间戳)
3. java.sql.Date对应着数据库中的日期类型的变量
>如何实例化
>如何将java.util.Date对象转换为java.sql.Date对象
@Test
public void test2(){
//构造器一:Date():创建一个对应当前时间的Date对象
Date date1 = new Date();
System.out.println(date1.toString());//Sun Aug 29 14:43:17 CST 2021
System.out.println(date1.getTime());//1630219397504
//构造器二:创建指定毫秒数的Date对象
Date date2 = new Date(155030620410L);
System.out.println(date2.toString());//Sat Nov 30 16:03:40 CST 1974
//创建java.sql.Date对象
java.sql.Date date3 = new java.sql.Date(35235325345L);
System.out.println(date3);//1971-02-13
//如何将java.util.Date对象转换为java.sql.Date对象
//情况一:
// Date date4 = new java.sql.Date(2343243242323L);
// java.sql.Date date5 = (java.sql.Date) date4;
//情况二:
Date date6 = new Date();
java.sql.Date date7 = new java.sql.Date(date6.getTime());
}
3. java.text.SimpleDataFormat类
SimpleDateFormat的使用:
1.SimpleDateFormat对日期Date类的格式化和解析
- 格式化:日期 —>字符串
- 解析:格式化的逆过程,字符串 —> 日期
2.SimpleDateFormat的实例化:new + 构造器
@Test
public void test1() throws ParseException {
//SimpleDateFormat的实例化:使用默认构造器
SimpleDateFormat sdf = new SimpleDateFormat();
Date date = new Date();
System.out.println(date);//Sun Aug 29 17:28:15 CST 2021
//格式化:日期 --->字符串
String format = sdf.format(date);
System.out.println(format);//2021/8/29 下午5:28
//解析:格式化的逆过程,字符串 ---> 日期
Date date2 = sdf.parse("2021/8/29 下午5:28");
System.out.println(date2);//Sun Aug 29 17:28:00 CST 2021
//按照指定的方式格式化和解析,调用代餐的构造器
SimpleDateFormat sdf1 = new SimpleDateFormat(