1. 程式人生 > >java — 時間日期類

java — 時間日期類

得到 毫秒 輸出 car EDA 日期加減 日期類 alt main

java —— 時間日期類的簡單操作

一、java.util.Date類

  • 獲取系統時間
1     public static void main(String[] args) {
2         // 使用Date獲取系統時間
3         Date date = new Date();
4         System.out.println(date);
5     }

輸出結果:Sun Jan 13 12:30:30 CST 2019

輸出結果不符合中國人的閱讀習慣,我們得使用 SimpleDateFormat類 進行一些操作,按照我們自己的習慣來讀取

二、java.util.Calendar類

  • 獲取系統時間
    public static void main(String[] args) {
        // 使用getInstance()對Calendar進行實例化
        Calendar cal= Calendar.getInstance();
        // 使用getTime()獲取系統時間
        System.out.println(cal.getTime());
    }

輸出結果:Thu Jan 26 12:55:15 CST 2017

輸出結果和Date獲取到的時間格式是一樣的,使用 SimpleDateFormat類 進行轉換

  • 自己設置時間
1     public static void main(String[] args) {
2         // 使用getInstance()對Calendar進行實例化
3         Calendar cal= Calendar.getInstance();
4         // 使用set()方法進行設置時間
5         cal.set(2018, 06, 01);
6 
7         System.out.println(cal.getTime());
8     }

輸出結果:Sun Jul 01 13:11:00 CST 2018

雖然閱讀起來不習慣,但日期確實是2018年6月1日

  • 獲取單個日期時間屬性
 1     public static void main(String[] args) {
 2         Calendar cal = Calendar.getInstance();
 3         cal.set(2018, 06, 01);
 4         // 使用get()方法獲取某一個屬性
 5         // get(Calendar.YEAR) 獲取年份
 6         System.out.print(cal.get(Calendar.YEAR)+"年");
 7         // get(Calendar.MONTH) 獲取月份
 8         System.out.print(cal.get(Calendar.MONTH)+"月");
 9         // get(Calendar.DATE) 獲取幾號
10         System.out.print(cal.get(Calendar.DATE)+"日");
11     }

輸出結果:2018年6月1日

Calendar提供一些靜態字段,可供get()方法使用,下面為一些常用的字段

技術分享圖片

三、java.text.SimpleDateFormat類

SimpleDateFormat類 繼承了 Format抽象類,我們將在SimpleDateFormat進行時間的一些操作

  • 將原本我們不熟悉的Date類型,轉換成我們熟悉的格式
1     public static void main(String[] args) {
2         // 實例化SimpleDateFormat類,並傳輸格式參數
3         SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
4         // 使用format()方法,輸入Date類型,輸出字符串類型
5         String date01 = sdf.format(new Date());
6         System.out.println(date01);
7     }

輸出結果:2019年01月13日 13:44:18

日期時間格式,世界上都大不相同,所以我們在對SimpleDateFormat類進行實例化時,就該輸入一段格式,來進行控制。

  • 下面是SimpleDateFormat類中的模式字母,實例化的時候,輸入格式時會用到(註意大小寫)

技術分享圖片

四、日期加減

  • 計算未來的日期
 1     public static void main(String[] args) {
 2         // 實例化SimpleDateFormat類,並傳輸格式參數
 3         SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
 4         Calendar cal = Calendar.getInstance();
 5         
 6         // 使用format()方法,輸入Date類型,輸出字符串類型
 7         String date01 = sdf.format(cal.getTime());
 8         System.out.println(date01);
 9         
10         // 使用Carlendar的add()方法,給指定的字段進行加減
11         cal.add(Calendar.YEAR, 1);
12         String date02 = sdf.format(cal.getTime());
13         System.out.println(date02);
14     }

輸出結果

2019年01月13日 14:08:56
2020年01月13日 14:08:56
  • 計算兩個日期的時間差
 1     public static void main(String[] args) {
 2 
 3         Calendar cal01 = Calendar.getInstance();
 4         cal01.set(2012, 12, 26, 12, 20);
 5         // 使用Calendar中的getTimeInMillis()方法獲取毫秒數
 6         long time01 = cal01.getTimeInMillis();
 7         
 8         Calendar cal02 = Calendar.getInstance();
 9         cal02.set(2013, 01, 01, 12, 20);
10         long time02 = cal02.getTimeInMillis();
11         
12         // 我們將對兩個時間的毫秒差進行操作,得到最後相差的天數
13         long cha = (time02-time01)/(1000*60*60*24);
14         System.out.println("相差的天數:"+cha);
15     }

輸出結果:相差的天數:6

java — 時間日期類