1

次のコードがあります。

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

明らかに、2013 年 8 月 7 日は土曜日ではありません。

私は何を間違っていますか???

ありがとう!!!

4

1 に答える 1

2

月は 1 から始まると仮定しますが、そうではありません。カレンダーでは、1 月 = 0 から始まります。

コードを次のように変更します。

eventiCompleti.get(i).month-1

于 2013-06-30T19:56:20.740 に答える