java 對日期函式的操作(Calendar的使用)
阿新 • • 發佈:2019-02-01
package test6; /* * 演示 Calendar 的一般操作 */ import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Test { public Test() { } public static void main(String[] args) { // 字串轉換日期格式 // DateFormat fmtDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 得到日期格式物件 // Date date = fmtDateTime.parse(strDateMake); // 完整顯示日期時間 String str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")) .format(new Date()); System.out.println(str); // 建立 Calendar 物件 Calendar calendar = Calendar.getInstance(); // 初始化 Calendar 物件,但並不必要,除非需要重置時間 calendar.setTime(new Date()); // setTime 類似上面一行 // Date date = new Date(); // calendar.setTime(date); // 顯示年份 int year = calendar.get(Calendar.YEAR); System.out.println("YEAR is = " + String.valueOf(year)); // 顯示月份 (從0開始, 實際顯示要加一) int MONTH = calendar.get(Calendar.MONTH); System.out.println("MONTH is = " + (MONTH + 1)); // 今年的第 N 天 int DAY_OF_YEAR = calendar.get(Calendar.DAY_OF_YEAR); System.out.println("DAY_OF_YEAR is = " + DAY_OF_YEAR); // 本月第 N 天 int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH); System.out.println("DAY_OF_MONTH = " + String.valueOf(DAY_OF_MONTH)); // 3小時以後 calendar.add(Calendar.HOUR_OF_DAY, 3); int HOUR_OF_DAY = calendar.get(Calendar.HOUR_OF_DAY); System.out.println("HOUR_OF_DAY + 3 = " + HOUR_OF_DAY); // 當前分鐘數 int MINUTE = calendar.get(Calendar.MINUTE); System.out.println("MINUTE = " + MINUTE); // 15 分鐘以後 calendar.add(Calendar.MINUTE, 15); MINUTE = calendar.get(Calendar.MINUTE); System.out.println("MINUTE + 15 = " + MINUTE); // 30分鐘前 calendar.add(Calendar.MINUTE, -30); MINUTE = calendar.get(Calendar.MINUTE); System.out.println("MINUTE - 30 = " + MINUTE); // 格式化顯示 str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar .getTime()); System.out.println(str); // 重置 Calendar 顯示當前時間 calendar.setTime(new Date()); str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar .getTime()); System.out.println(str); // 建立一個 Calendar 用於比較時間 Calendar calendarNew = Calendar.getInstance(); // 設定為 5 小時以前,後者大,顯示 -1 calendarNew.add(Calendar.HOUR, -5); System.out.println("時間比較:" + calendarNew.compareTo(calendar)); // 設定7小時以後,前者大,顯示 1 calendarNew.add(Calendar.HOUR, +7); System.out.println("時間比較:" + calendarNew.compareTo(calendar)); // 退回 2 小時,時間相同,顯示 0 calendarNew.add(Calendar.HOUR, -2); System.out.println("時間比較:" + calendarNew.compareTo(calendar)); } }