Date類的常用方法以及Date類和相關型別的轉化-java(8)
阿新 • • 發佈:2018-12-22
最近在寫和時間有關的程式碼時,發現是時候複習一下java中Date類的一些經常用到的方法。
正文
Date
類在util
包中。
- 當我們需要一個簡單的Date物件時,可以用Date類
- 要取出具體年份、月份等等用Calendar類比較好
- 其他還涉及到相關型別轉化是會使用到
SimpleDateFormat
、Timestamp
構造方法
構造方法有兩個,無參和有參
- 無參構造方法
獲取當前時間物件
Date date = new Date();
- 有參構造方法
自定義時間戳來獲得時間物件
Date date1 = new Date(1543543174478L);
常用方法
- 先後比較
boolean before(Date when)
System.out.println(date.before(date1));
boolean after(Date when)
System.out.println(date.after(date1));
- 獲得當前時間的毫秒數
System.out.println("date.getTime is"+date.getTime());
Calendar類
方便的獲得具體的年份、月份等等。
Calendar
是一個抽象類,不能通過new
來建立物件,但是其提供了一個靜態過載方法構建物件。
Calendar calendar1 = Calendar.getInstance();
Calendar calendar2 = Calendar.getInstance(TimeZone.getDefault());
Calendar calendar3 = Calendar.getInstance(Locale.getDefault());
Calendar calendar4 = Calendar.getInstance(TimeZone.getDefault(), Locale.getDefault());
獲取年、月,日
System.out.println("年份: "+calendar1.get(Calendar.YEAR));
System.out.println("月份: "+(calendar1.get(Calendar.MONTH)+1));
System.out.println("日: "+calendar1.get(Calendar.DAY_OF_MONTH));
執行結果為
與其他型別轉化
TimeStamp類
當資料庫欄位型別為datetime
時,就要用到TimeStamp
類了。
Timestamp timestamp = new Timestamp(date.getTime());
System.out.println(timestamp);
SimpleDateFormat
可以對時間進行格式化,轉化為我們想要格式的字串。
- 時間轉字串
常用的格式程式碼
格式程式碼 | 含義 |
---|---|
y | 年 |
M | 月 |
d | 日 |
H | 24小時制時 |
h | 12小時制時 |
m | 分鐘 |
s | 秒 |
E | 星期 |
D | 一年中的第幾天 |
w | 一年中的第幾個星期 |
W | 一個月中的第幾個星期 |
例如:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss E");
String dateFormat = simpleDateFormat.format(date);
System.out.println(dateFormat);
輸出為:
- 字串轉時間
具體用到了Date parse(String time)
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = "2018-11-30 10:00:00";
System.out.println(simpleDateFormat.parse(time));
輸出結果為: