2013-06-30 1 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 

Очевидно, что 7 августа 2013 в НЕ в субботу.

Пожалуйста, что я делаю неправильно ???

Спасибо !!!

ответ

2

Вы предполагаете, что месяц начинается с 1. Это не так. В календаре начинается с января = 0.

Так изменить код:

eventiCompleti.get (I) .month-1

+0

большого спасибо !! –