ubuntuusers.de

[Java] Zeit in Java (Timestamp, datumsfunktionen,...)

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

dersven

Anmeldungsdatum:
16. August 2005

Beiträge: 792

Wohnort: Kreuzlingen, Schweiz

Hallo.

Ich möchte in Java (1) Das aktuelle Datum ausgeben, und (2) eine Zeitdifferenz ermitteln, und ebenfalls ausgeben. z.B.:

Das Programm wurde gestartet am 08.08.2009 um 23:59:59 Uhr

Beendet wurde das Programm am 09.08.2009 um 04:04:04 Uhr

Das Programm lief 04 Stunden, 04 Minuten und 5 Sekunden

mit java.util.Date geht das recht einfach, allerdings ist die verwendung der methoden "getSconds()" usw. nicht mehr empfohlen. Allerdings bin ich noch nicht dahinter gekommen, wie ich das Problem jetzt lösen soll. ich habe in der javadoc die dort genannten alternativen klassen angeschaut, aber darin keine entsprechenden methoden gefunden.

Kann mir jemand einen Tipp geben?

Grüße und Danke

Greebo

Avatar von Greebo

Anmeldungsdatum:
21. November 2006

Beiträge: 3443

Wohnort: 97070 Würzburg

Für Datumsgeschichten verwendet man üblicherweise GregorianCalendar (1), für zwei ist mir spontan leider auch keine schöne Methode eingefallen, ich würde wohl sowas wie

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
/* 15.4.1997 */
Calendar gDate1 = new GregorianCalendar();
gDate1.set( 1997, Calendar.MARCH, 15, 0, 0, 0 );
/* 2.4.2008 */
Calendar gDate2 = new GregorianCalendar();
gDate2.set( 2008, Calendar.APRIL, 2, 0, 0, 0 );  
/* Zeitdifferenz */
long millis = gDate2.getTime().getTime() - gDate1.getTime().getTime();
long secs = millis % 1000;
long mins = millis % 60000;
long hours = millis % 3600000;
System.out.format("Das Programm lief %d Stunden, %d Minuten, %d Sekunden",hours, mins, secs);

Machen. Ungetestet in das Forum getippt, aber so sollte es gehen...

daniel85

Anmeldungsdatum:
7. Juli 2005

Beiträge: 86

In der Standard API von Java gibt es keine Methoden zum berechnen von der Differenz von zwei Uhrzeiten bzw. Datum. Wenn man es von Hand ausrechnen kann es zu Problemen mit den Zeitzonen und Sommer-/Normalzeit kommen.

Die Bibliothek Joda Time enthält eine komplette neu Zeit und Datum API. Damit es es sehr einfach Möglich zu rechnen (http://joda-time.sourceforge.net/faq.html#datediff). In Java 7 soll eine neue Zeit und Datum API mitbringen. Diese wird auf Joda Time basieren.

Antworten |