2013-06-30 10 views
1

我有以下代码:这个GregorianCalendar有什么问题?

Log.e("year = ",eventiCompleti.get(i).year); 
Log.e("month = ",eventiCompleti.get(i).month); 
Log.e("day = ",eventiCompleti.get(i).day); 
Log.e("hour = ",eventiCompleti.get(i).hour); 

TimeZone MyTimezone = TimeZone.getDefault(); 
Calendar calendar = new GregorianCalendar(MyTimezone);        
calendar.set(Integer.parseInt(eventiCompleti.get(i).year),Integer.parseInt(eventiCompleti.get(i).month),Integer.parseInt(eventiCompleti.get(i).day),0,0,0); 
String month_name=calendar.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.getDefault());//Locale.US); 
String day_name=calendar.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.getDefault()); 

Log.e("day of the week = ",day_name); 

嗯,这是输出:

06-30 21:33:55.828: E/year =(11254): 2013 
06-30 21:33:55.828: E/month =(11254): 08 
06-30 21:33:55.828: E/day =(11254): 07 
06-30 21:33:55.828: E/hour =(11254): 18:00 
06-30 21:33:55.828: E/day of the week =(11254): Saturday 

显然,二零一三年八月七日在一个星期六。

请问我在做什么错?

谢谢!

回答

2

你假设月份从1开始。它不。在日历中,它从1月份开始= 0。

所以你的代码更改为:

eventiCompleti.get(I).month-1

+0

非常感谢你! –