wuf*_*foo 3 java android calendar
我在Android中有一个onClickListener,根据单击的+/-按钮更改Java.util.Calendar对象的月份.设置日历的代码如下.我似乎无法将月份设置为"10".世界上到底发生了什么?
Calendar c2 = Calendar.getInstance();
int newmonth = 9;
Log.d (TAG, "month before: "+ c2.get (Calendar.MONTH));
c2.set (Calendar.MONTH, newmonth);
Log.d (TAG, "month now: " + c2.get(Calendar.MONTH));
Run Code Online (Sandbox Code Playgroud)
一个月前:现在11个月:9
Calendar c2 = Calendar.getInstance();
int newmonth = 10;
Log.d (TAG, "month before: "+ c2.get (Calendar.MONTH));
c2.set (Calendar.MONTH, newmonth);
Log.d (TAG, "month now: " + c2.get(Calendar.MONTH));
Run Code Online (Sandbox Code Playgroud)
一个月前:现在11个月:11
月份从0开始,因此9月份是10月份,10月份是11月份,11月份没有31天.
如果你添加:
Log.d (TAG, "day of month now: " + c2.get(Calendar.DAY_OF_MONTH));
Run Code Online (Sandbox Code Playgroud)
您将在第二个示例中看到当天已从第31天移至第1天.
要获得所需的行为,您应该使用:
c2.add(Calendar.MONTH, -1); // or +1
Run Code Online (Sandbox Code Playgroud)