Day022 JDK8之前的日期时间
Posted 南方风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day022 JDK8之前的日期时间相关的知识,希望对你有一定的参考价值。
1.JDK8之前日期时间API
java.lang.System类
System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。
- 此方法适于计算时间差。
- 计算世界时间的主要标准有:
- UTC(Coordinated Universal Time)
- GMT(Greenwich Mean Time)
- CST(Central Standard Time)
//currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。
long time = System.currentTimeMillis();
System.out.println(time);
输出结果
1621664822106
这个数称为时间戳。
java.util.Date类
表示特定的瞬间,精确到毫秒
-
构造器:
- Date(): 使用无参构造器创建的对象可以获取本地当前时间。
- Date(long date)
-
常用方法
- getTime():返回自1970年1月1日 00:00:00 GMT以来此Date对象表示的毫秒数。
- toString():把此Date对象转换为以下形式的String: dow mon dd hh:mm:ss zzz yyyy 其中:dow是一周中的某一天(Sun,Mon,Tue,Wed,Thu,Fri,Sat),zzz是时间标准。
- 其它很多方法都过时了。
import java.util.Date;
public static void main(String[] args) {
Date date1 = new Date();
System.out.println(date1.toString());
System.out.println(date1.getTime());
Date date2 = new Date(1621666072062L);
System.out.println(date2);
}
输出结果:
Sat May 22 15:07:18 CST 2021
1621667238491
Sat May 22 14:47:52 CST 2021
java.sql.Date类(java.util.Date类的子类)
package java.sql;
public class Date extends java.util.Date
-
构造器:
- Date(long date)
-
常用方法
- getTime():返回自1970年1月1日 00:00:00 GMT以来此Date对象表示的毫秒数。
- toString(): 返回yyyy-MM-dd格式的时间
import java.sql.Date;
public static void main(String[] args) {
Date date1 = new Date(1621667238491L);
System.out.println(date1.toString());
System.out.println(date1.getTime());
}
输出结果
2021-05-22
1621667238491
java.sql.Date与java.util.Date之间的转换
情况1(new 的是java.sql.Date):
java.util.Date date2 = new java.sql.Date(1621667238491L);
java.sql.Date date3=(java.sql.Date) date2;
分析:由于java.util.Date是java.sql.Date的父类,所以java.sql.Date转换为java.util.Date可以自动转化,父类引用指向子类对象。而java.util.Date转换为java.sql.Date需要强制类型转换。
情况2(new 的是java.util.Date):
java.util.Date date4=new java.util.Date();
Long time4=date4.getTime();//时间戳
java.sql.Date date5=new Date(time4);
分析:由于new的是父类,所以不能强制转换为子类。正确的做法是获取util.Date对应的时间戳,再用sql.Date的构造方法构造sql.Date对象。
以上是关于Day022 JDK8之前的日期时间的主要内容,如果未能解决你的问题,请参考以下文章