2017-12-27 4 views
-1

Ich benutze diese Methode, um Zeit in den Kalender zu setzen, aber wenn ich Monat bekommen will, wird es mir Monat-1 geben.Kalender mit spezifischem Datum einstellen und falsche Werte für Monat erhalten

Zum Beispiel, wenn ich "2017-12-27 10:50:00" einstellen. Und wenn ich den Monat des Kalenders erhalten möchten ist es 11 statt 12.

public String setDate(String gDate){ 

     try { 

      private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

      Date date = sdf.parse(gDate); 
      javaCalendar.setTime(date); 

     } catch (ParseException e) { 
      e.printStackTrace(); 
      Log.i("LOG_DATE", "Error is: " + e.toString()); 
     } 
     return ""; 
    } 
+2

Es beginnt mit 0. Es ist 0 bis 11. –

+0

teilen Sie Code, um Kalendermonat zu erhalten –

+1

Denken Sie sogar an Android, die alten Klassen "Date", "Calendar" und "SimpleDateFormat" zu löschen und 'LocalDateTime' und' DateTimeFormatter' zu verwenden von JSR-310, der modernen Java-API für Datum und Uhrzeit. Es ist so viel schöner, damit zu arbeiten. Und geben Sie den 12. Monat entweder als "Monat.DECEMBER" oder 12, wählen Sie. Um JSR-310 unter Android zu verwenden, fügen Sie [ThreeTenABP] (https://github.com/JakeWharton/ThreeTenABP) zu Ihrem Projekt hinzu. –

Antwort

Verwandte Themen