2009-09-12 40 views
0

我正在做一項任務,涉及到使用GregorianCalendar。規範說我需要使用setLenient(false);我該怎麼做呢?我還需要設定一個不變的日期(1/1/2009),這樣我的節目的第一天就是這樣。GregorianCalendar

它還說,通過這次訪問日,月和年:

get(1) //returns the year 
get(2) // returns the month 
get(5) /// returns the day 

爲n天添加日期,請在致電的5場數的加入方法:添加(5,N) ;

要減去:add(5,-n);

有人可以解釋一下這是什麼意思,以及如何實現它?

回答

1

創建Calendar的實例並調用setLenient。

Calendar cal = Calendar.getInstance(); 
cal.setLenient(false); 

int month = cal.get(Calendar.MONTH); 

UPDATE:

而且因爲你只在您的評論中提到的SimpleDateFormat,下面是它的一個例子,以及:

Date today = cal.getTime(); 
DateFormat formatter = new SimpleDateFormat("yyyy-MMM-dd"); 
System.out.println(formatter.format(today)); 

Java Almanac是像這些簡單的代碼片段的例子一個很好的來源。

+0

我需要使用公曆不過,心不是在使用的SimpleDateFormat? – Karen 2009-09-12 15:10:55

+0

如果您所在時區的默認日曆是格里曆,您正在使用它。 – duffymo 2009-09-12 16:13:44

3

首先訪問API文檔here。這些文檔準確解釋了Java中的類中可用的方法。

要獲取實例的日曆,您可以:

Calendar c = Calendar.getInstance(); 

你會在文檔中看到,其實有多種方式來獲得一個日曆和默認是一個GregorianCalendar。

一旦你有了日曆對象,那麼你可以調用任何傳遞必要參數的方法。例如,

c.setLenient(true); 

要使用get方法,您必須指定您希望獲取的字段。

int month = c.get(Calendar.MONTH); 

等等。