In meiner App habe ich eine Option, die Ausführung für eine bestimmte Zeit zu unterbrechen. Ich möchte die Uhrzeit anzeigen, zu der die Ausführung fortgesetzt wird, einschließlich der Sekunden, und ich möchte, dass die Zeitzeichenfolge entsprechend den Einstellungen für die Uhrzeit formatiert wird. Dies ist der Code, den ich kam mit:SimpleDateFormat.getTimeInstance ignoriert 24-Stunden-Format
long millis = getResumeTime();
String timeString;
timeString = SimpleDateFormat.getTimeInstance(SimpleDateFormat.MEDIUM).format(millis);
Diese eine formatierte Zeichenfolge mit Sekunden nicht produzieren, aber es gibt AM/PM-Format Zeit, obwohl ich 24-Stunden-Format in den Einstellungen festgelegt habe. Es ist noch lustiger, da die Zeit in der Taskleiste korrekt im 24-Stunden-Format formatiert ist.
Ich versuchte DateFormat.getTimeFormat wie folgt aus:
long millis = getResumeTime();
String timeString;
java.text.DateFormat df = android.text.format.DateFormat.getTimeFormat(this);
timeString = df.format(millis);
Aber die resultierende Zeichenfolge Sekunden nicht enthält, und ich sehe keinen Weg, sie zu schließen.
Ich führe diesen Code auf Android 4.2 Emulator. Fehle ich hier etwas? Ist SimpleDateFormat die 12/24-Stundeneinstellung nicht bekannt? Wenn nicht, wie bekomme ich eine String-Darstellung der Zeit (einschließlich Stunden, Minuten und Sekunden) im Systemformat?
Duplizieren? http://stackoverflow.com/questions/9235934/get-preferred-date-format-string-of-android-system –
Nein. Sie diskutieren Datumsformat. Ich bin interessiert am Zeitformat. Leider funktionieren sie nicht immer gleich. –
Wenn Sie getTimeFormat ersetzen für getDateFormat 'android.text.format.DateFormat.getTimeFormat (getApplicationContext()))'? –