1. 程式人生 > >Java 日曆類 Calendar

Java 日曆類 Calendar

Java 日曆類 Calendar

1.java.util.Calendar(日曆)類

Calendar是一個抽象基類,==主要用於完成日期欄位之間相互操作的功能。==也是說,常用來對於日期某個屬性的相加或者相減,而不是用字串拼接的方法。

  1. 獲取Calendar例項的方法
    • 使用Calendar.getInstance()方法
    • 呼叫它的子類GregorianCalendar的構造器。
    • 由於Calendar是抽象基類,所以不能用new的方式實現,只能用它的getInstance()方法
  2. 一個Calendar的例項是系統時間的抽象表示,通過==get(int field)==方法來取得想要的時間資訊。比如YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY 、MINUTE、SECOND,欄位含義都基本可以見文知意。
    • public void set(int field,int value)
    • public void add(int field,int amount)
    • public final Date getTime()
    • public final void setTime(Date date)
  3. demo
@Test
	public void test4() {
		Calendar c = Calendar.getInstance();
		int day = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(day);//8
		
		c.add(Calendar.DAY_OF_MONTH, 2);	
		day = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(day);//10
		
		c.set(Calendar.DAY_OF_MONTH, 23);
		Date d = c.getTime();
		System.out.println(d);

		//例子二
		Calendar calendar = Calendar.getInstance();
	        // 從一個 Calendar 物件中獲取 Date 物件
	        Date date = calendar.getTime();
	        //使用給定的 Date 設定此 Calendar 的時間
	        calendar.setTime(date);
	        calendar.set(Calendar.DAY_OF_MONTH, 8);
	        System.out.println("當前時間日設定為8後,時間是:" + calendar.getTime());
	        calendar.add(Calendar.HOUR, 2);
	        System.out.println("當前時間加2小時後,時間是:" + calendar.getTime());
	        calendar.add(Calendar.MONTH, -2);
	        System.out.println("當前日期減2個月後,時間是:" + calendar.getTime());
	}