2016-12-21 2 views
1

Ich benutze unten Code um Zeit vom Benutzer zu bekommen. Alles funktioniert einwandfrei, außer wenn der Benutzer 15 in der 24-Stunden-Formatansicht auswählt, die endgültige Ausgabe um 3 Uhr morgens und umgekehrt. Ich habe viele Blogs gelesen, aber keine klare Lösung zum Sortieren bekommen. Kann jemand helfen? Hier ist der Code:Falsche Zeit gewählt mit Zeitpickerdialog

final TimePickerDialog.OnTimeSetListener tf = new TimePickerDialog.OnTimeSetListener() { 
     @Override 
     public void onTimeSet(TimePicker timePicker, int i, int i1) { 
      calendar.set(Calendar.HOUR, i); 
      calendar.set(Calendar.MINUTE, i1); 
      String myFormat = "hh:mm a"; //In which you need put here 
      SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US); 
      timefrom.setText(sdf.format(calendar.getTime())); 
     } 
    }; 

Hier ist der Code, wenn die Zeit auf Klick festgelegt ist:

timefrom.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       new TimePickerDialog(HireActivity.this, tf, 
         calendar.get(Calendar.HOUR), calendar.get(Calendar.MINUTE), true).show(); 
      } 
     }); 

I mit 122 Stunden Ansicht Format versucht zu und hier auch, wenn der Benutzer 05.00 wählen, die endgültige Ausgabe kommt als 6 PM und umgekehrt.

Antwort

0

Verwendung HOUR_OF_DAY

new TimePickerDialog(HireActivity.this, tf, 
      calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true).show(); 
+0

Perfect. Vielen Dank – Panache