Java中的日历错误

Java中的日历错误,java,android,calendar,Java,Android,Calendar,我使用Calendar c=Calendar.getInstance()存储当前日期。但当我试图查看时,我发现了一个错误 c.get(日历月+1)与49相同 为什么? 谢谢。您将+1传递给get的参数 c.get(Calendar.MONTH) + 1 将为您提供月份Calendar.MONTH+1是3或。Calendar.MONTH只是调用类Calendar中具有相应名称MONTH的字段,它只是一个整数。查看Calendar类(并过滤掉一些文档),我们可以看到为Calendar的get和se

我使用
Calendar c=Calendar.getInstance()
存储当前日期。但当我试图查看时,我发现了一个错误

c.get(日历月+1)
与49相同

为什么?


谢谢。

您将
+1
传递给
get
的参数

c.get(Calendar.MONTH) + 1

将为您提供
月份
Calendar.MONTH+1
是3或。

Calendar.MONTH只是调用类Calendar中具有相应名称MONTH的字段,它只是一个整数。查看Calendar类(并过滤掉一些文档),我们可以看到为Calendar的
get
set
方法定义的以下内容:

public final static int ERA = 0;
public final static int YEAR = 1;
public final static int MONTH = 2;
public final static int WEEK_OF_YEAR = 3;
public final static int WEEK_OF_MONTH = 4;
public final static int DATE = 5;
etc...
试试这个:

// using Calendar class
Calendar ci = Calendar.getInstance();

String CiDateTime = "" + ci.get(Calendar.YEAR) + "-" + 
(ci.get(Calendar.MONTH) + 1) + "-" +
ci.get(Calendar.DAY_OF_MONTH) + " " +
ci.get(Calendar.HOUR) + ":" +
ci.get(Calendar.MINUTE) +  ":" +
ci.get(Calendar.SECOND);
上述代码的输出为:


2014-12-2 10:46:56

你认为
c.get(Calendar.MONTH+1)
应该返回什么?为什么?也许你应该说,
12
并不意味着
12月
。谢谢你,你解决了我的问题!