日期和日曆類
阿新 • • 發佈:2020-12-13
日期類
Date date = new Date(); Date date = new Date(long) ; // 建立日期類的物件 Date date = new Date(); //獲取當前時間 以 標準格式 System.out.println(date); // 獲取當前時間的毫秒數 System.out.println(date.getTime()); //通過毫秒數構建當前時區的 時間 Date date2 = new Date(100000); System.out.println(date2); // 獲取 紀元時間 相隔本地時間8時區 System.out.println(date.toGMTString()); System.out.println(date.toLocaleString()); //測試時間的先後 System.out.println(date.after(date2));// true System.out.println(date.before(date2));//false System.out.println(date.compareTo(date2));//比較時間大小 // 時間轉成字串 System.out.println(date.toString());
在Java中用於表示日期的類 java.util.Date() ,用於獲取日期和時間的物件, 不過這個類的一些方法以及過時(被日曆類取代)
建立日期類
2、日曆類 Calendar
java.util.Calendar 是表示日曆類, 它是一個單例模式 ,通過 getInstance()獲取一個日曆物件, 並獲取日曆的任意時間,日期。
常用方法
getInstance() : 獲取日曆物件
get() :獲取指定的單位的日曆數值 (年,月,日 等等)
set():設定指定單位的日曆數值
add() :新增指定單位的日曆數值
getTimeInMills() :獲取日期的毫秒數
/ 獲取當前日曆物件 Calendar cal = Calendar.getInstance(); // 日曆的屬性 (fields) System.out.println(Calendar.DATE); System.out.println(Calendar.YEAR); System.out.println(Calendar.MONTH); //獲取當前日曆的年份 System.out.println(cal.get(Calendar.YEAR)); // 獲取月份 (返回 0-11) System.out.println(cal.get(Calendar.MONTH)); // 獲取日(1-31) System.out.println(cal.get(Calendar.DATE)); // 獲取日期 System.out.println("獲取當前日曆的日期:"+ cal.getTime()); // 新增日曆 (指定的field 和 數量) // 將當前日曆新增2個月 cal.add(Calendar.MONTH ,2); System.out.println("新的日期:"+cal.getTime()); cal.add(Calendar.DATE,-3); System.out.println("新的日期:"+cal.getTime()); // 判斷日期的前後 after before // 題目 給定兩個日期, 計算相差多少天 Calendar cal1 = Calendar.getInstance();
計算兩個日曆(日期)的相差天數/月數
重寫構建一個時間 Calendar cal2 = Calendar.getInstance(); // 設定指定的時間 cal2.set(2020,10,20); System.out.println("cal2---"+cal2.getTime()); // 原始方式 通過毫秒數計算 long n = cal1.getTimeInMillis()-cal2.getTimeInMillis(); System.out.println("n---->"+n); long days = n/(1000*60*60*24); System.out.println("days:"+days); // java8 的方式 LocalDate date1 = LocalDate.of(2020,2,22); LocalDate date2 = LocalDate.of(2020,3,22); long days2 = date1.until(date2,ChronoUnit.DAYS); System.out.println("兩個時間相差的天數:"+ days2);