Zeitausgabe. z.B. 12:34

PollerJava

Top Contributor
Hallo,

gibts für den unteren Code eine elegantere Lösung, der funkt. zwar aber er ist grauenvoll.
Danke!
Poller

Java:
String hoursString = "";
        String minutesString = "";
        if (hours <= 9L) {
            hoursString = "0" + hours;
        } else {
            hoursString = hours + "";
        }
        if (minutes == 0L) {
            minutesString = "00";
        } else if (minutes <= 9L) {
            minutesString = "0" + minutes;
        } else {
            minutesString = minutes + "";
        }

        return hoursString + ":" + minutesString;
 
Zuletzt bearbeitet von einem Moderator:

X5-599

Top Contributor
Hab folgende Möglichkeiten gefunden:

Java:
/*
* Zeit als einzelne Integers
*/
int hours = 2;
int minutes = 59;

String exampleInt = String.format("%02d:%02d", hours, minutes);
System.out.println(exampleInt);


/*
* Zeit als Date Objekt
*/
Date currentTime = new Date();

String exampleDate1 = String.format("%tR", currentTime);
System.out.println(exampleDate1);

String exampleDate2 = String.format("%tH:%tM", currentTime, currentTime);
System.out.println(exampleDate2);

Die erste Variante stellt die übergebenen Argumente jeweils als Dezimal Zahl dar, die wenn sie weniger als 2 Ziffern lang ist mit führender '0' ergänzt wird.
Das %tR macht das selbe wie %tH:%tM (24Std Format für die Stunden mit führender '0' und führende '0' bei den Minuten); man braucht halt das Date Objekt nur einmal zu übergeben.

Ich hoffe mal, dass meine Erklärung so richtig ist. Wenn nicht, bitte verbessern!
 
Zuletzt bearbeitet von einem Moderator:

Neue Themen


Oben