[英]Unable to set GregorianCalendar Month and Date
我正在嘗試設置公歷的月份和日期:
GregorianCalendar startCalendar = new GregorianCalendar();
startCalendar.set(GregorianCalendar.MONTH, 3);
System.out.println(startCalendar.MONTH);
startCalendar.set(GregorianCalendar.DATE, 9);
System.out.println(startCalendar.DATE);
輸出為:
2
5
我使用哪個數字似乎無關緊要(即,如果我替換了3和9),它總是具有相同的輸出
參考文獻:
MONTH
和DATE
是字段編號,不是字段的實際值。 您應該使用get()
方法來獲取數字集。
GregorianCalendar startCalendar = new GregorianCalendar();
startCalendar.set(GregorianCalendar.MONTH, 3);
System.out.println(startCalendar.get(GregorianCalendar.MONTH));
startCalendar.set(GregorianCalendar.DATE, 9);
System.out.println(startCalendar.get(GregorianCalendar.DATE));
startCalendar.MONTH
與Calendar.MONTH
相同,並且是Calendar
類中聲明為以下內容的靜態字段:
public final static int MONTH = 2;
要從日歷中獲取月份,您需要調用get()
:
startCalendar.get(Calendar.MONTH)
請注意,您應該始終通過聲明靜態字段的實際類(例如Calendar.MONTH
),而不是引用變量(例如startCalendar.MONTH
)和子類(例如GregorianCalendar.MONTH
)來限定靜態字段。
因此,您的代碼應為:
GregorianCalendar startCalendar = new GregorianCalendar();
startCalendar.set(Calendar.MONTH, 3);
System.out.println(startCalendar.get(Calendar.MONTH));
startCalendar.set(Calendar.DATE, 9);
System.out.println(startCalendar.get(Calendar.DATE));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.