java — 時間日期類
阿新 • • 發佈:2019-01-13
得到 毫秒 輸出 car EDA 日期加減 日期類 alt main 二、java.util.Calendar類
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 — 時間日期類