簡體   English   中英

無法設置公歷日期和日期

[英]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),它總是具有相同的輸出

參考文獻:

MONTHDATE是字段編號,不是字段的實際值。 您應該使用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.MONTHCalendar.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM