1. 程式人生 > >Date類的常用方法以及Date類和相關型別的轉化-java(8)

Date類的常用方法以及Date類和相關型別的轉化-java(8)

最近在寫和時間有關的程式碼時,發現是時候複習一下java中Date類的一些經常用到的方法。

正文

Date類在util包中。

  • 當我們需要一個簡單的Date物件時,可以用Date類
  • 要取出具體年份、月份等等用Calendar類比較好
  • 其他還涉及到相關型別轉化是會使用到SimpleDateFormatTimestamp

構造方法

構造方法有兩個,無參和有參

  • 無參構造方法
    獲取當前時間物件
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));

輸出結果為: