Zeitausgabe

Status
Nicht offen für weitere Antworten.
D

Dito

Gast
Hallo,
ich habe ein kleines Problem.
Ich bin gerade dabei ein Java-Applet zu erstelle und möchte Sekunden im Format
TT - hh:mm:ss
ausgeben.
Wie kann man z.b. 133705 Sekunden als 01 - 13:08:25 ausgeben.

Kann mir jemand helfen?

MfG
Dito
 
G

Guest

Gast
hm das Problem ist nur, dass ich mich noch nit so mit Java auskenne und java.sun.com/j2se/1.5.0/docs/api/
hilft mir dementsprechent nicht wirklich weiter. Ich wollte nur wissen, ob es da eine Methode gibt, mit der ich das umrechnen lassen kann.
 

byte

Top Contributor
Also zunächst kannst Du Dir die aktuelle Systemzeit über System.currentTimeMillis() holen. Das ist jedoch ein long Wert, also für den Menschen nicht wirklich aussagekräftig. Aber Java bietet Dir Klassen, mit denen Du diesen long Wert mit einfachen Mitteln in das gewünschte Ausgabeformat formatieren kannst. Den Link zur Java API kennst Du ja schon. Schau Dir darin mal die Klassen Date und SimpleDateFormat an. SimpleDateFormat kannst Du mitteilen, wie Du die Zeit gerne ausgeben willst. Mit der format() Methode wird dann ein Date Objekt entsprechend formatiert. Die Date Klasse akzeptiert dann wiederum besagten long Wert. Am Ende könnte es dann so aussehen:

Code:
SimpleDateFormat sd = new SimpleDateFormat("kk:mm:ss");
System.out.println(sd.format(new Date(System.currentTimeMillis())));
 
G

Guest

Gast
Hm sorry, dass ich nochmal stören muss aber ich habe es jetzt soweit

Code:
       SimpleDateFormat sd = new SimpleDateFormat("dd '-' hh:mm:ss");
       textField47.setText(sd.format(new Date(133705)));

wobei es irgendwo einen Fehler gibt. Java gibt mir das Datum als 01 - 01:02:13 aus. Wo liegt mein Fehler bzw wo muss ich angeben, dass es sich bei meiner Zahl (ist eigentlich eine Variable) um eine Sekundenangabe handelt? Und ist das ok so mit dem TextField oder muss ich das anders machen
(ich sag ja, ich bin noch ein Anfänger :oops: )
 

byte

Top Contributor
Ein Blick in die Java API offenbart den Fehler:

Date(long date)
Constructs a Date object using the given milliseconds time value.

Date möchte die Zeit in Millisekunden. Wenn Du nicht die aktuelle Zeit ausgeben willst, musst Du Dir erstmal den korrekten Long Wert holen. Das geht z.B. mit der Klasse Calendar.

Code:
Calendar cal = new Calendar();
cal.set(year, month, date, hour, minute, second);
SimpleDateFormat sd = new SimpleDateFormat("dd '-' hh:mm:ss");
textField47.setText(sd.format(new Date(cal.getTimeInMillis())));
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Threads Thread zur zeitausgabe Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben