Stellen Sie den Tag des Monats im Android-Kalender einAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Stellen Sie den Tag des Monats im Android-Kalender ein

Post by Anonymous »

Ich programmiere nicht häufig für Android und verstehe nicht wirklich, warum das passiert:

Code: Select all

Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, anio);
c.set(Calendar.MONTH, mes);
c.set(Calendar.DAY_OF_MONTH, dia);
c.set(Calendar.HOUR, hora);
c.set(Calendar.MINUTE, minuto);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
Log.i("ET", "Day: " +  dia );
Log.i("ET", "CalDAy: " +  c.get(Calendar.DAY_OF_MONTH));
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy hh:mm");
Log.i("ETCalendar", "Tactual "+ formatter.format(c.getTimeInMillis()));
return c.getTimeInMillis();
Dies ist die LogCat:

Code: Select all

I/ET(27819): Day: 16 11-16 19:13:38.656:
I/ET(27819): CalDAy: 17 11-16 19:13:38.656:
I/ETCalendar(27819): 4Tactual 17/11/2013 07:13
Warum habe ich einen 16-Tag zugewiesen und wenn ich eine Zeile danach wiederherstelle, ist es ein 17?
Eine mögliche Lösung, die mir in den Sinn kommt, ist:

Code: Select all

c.set(Calendar.DAY_OF_MONTH, dia - 1);
aber würde das funktionieren?
Danke!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post