Android:将类型日期转换为日历时出错

Android:将类型日期转换为日历时出错,android,Android,我正在使用realm保存日期,但需要使用日期的日期和月份供以后使用,因此我使用以下方法将类型日期转换为日历: public static Calendar toCalendar(Date date){ Calendar cal = Calendar.getInstance(); cal.setTime(date); return cal; } 然后在创建片段时: Date testDate = new Date(); CharSequence s = DateFor

我正在使用realm保存日期,但需要使用日期的日期和月份供以后使用,因此我使用以下方法将类型日期转换为日历:

 public static Calendar toCalendar(Date date){
    Calendar cal = Calendar.getInstance();
    cal.setTime(date);
    return cal;
}
然后在创建片段时:

Date testDate = new Date();
CharSequence s  = DateFormat.format("MMMM d, yyyy ", testDate.getTime());
Log.d("Date", String.valueOf(s));
// This prints May 26, 2017 

Calendar testCalendar = toCalendar(testDate);
Log.d("CALENDAR DAY TEST", String.valueOf(testCalendar.DAY_OF_MONTH));
// This prints 5, MONTH prints 2. Rather the expected 26 & 5.

testCalendar的DAY\u OF_MONTH和MONTH方法将日期返回为第5天,将月份返回为第2天,而不是第26天和第5天。

这些是静态整数,用于告诉Calendar您需要什么类型的数据

Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_MONTH);