[Java]Timestamp anzeigen

Allo

Lt. Commander
Registriert
Feb. 2004
Beiträge
1.064
Hallo,
ich habe einen Timestamp in meiner Datenbank welche ich als lesbare Zeitanzeige ausgeben möchte.
Leider stehe ich da auf dem Schlauch wie ich das lösen sollte.

Code:
java.util.Date d = new java.util.Date(1198623600 * 1000);
System.out.println( d );

funktioniert bei mir ja nicht so gut. Das zeigt "Sun Jan 04 20:02:04 CET 1970" an was überhaupt nicht mit dem Timestamp übereinstimmt.

Hat jemand eine Lösung für das Problem?

MfG
Allo
 
joa aus der doku werde ich momentan noch nicht richtig schlau draus. Damit muss ich mich noch beschäftigen.
Es scheitert aber auch nur an der Umwandlung zwischen dem Timestamp und der Ausgabe.

* 1000 weil in der DB nur Sekunden und keine Millisekunden gespeichert werden.
 
du muss sicherstellen, dass das auch schon beim berechnen als long behandelt wird, sonst bekommst du bereits bei der berechnung einen überlauf und das date-objekt wird falsch initialisiert!
das ist nur ein beispielcode, aber du kannst ja den rückgabewert aus der datenbank gleich in ein long packen, dann dazu die 1000 multiplizieren, dann gehts. hier ein beispiel:

Code:
import java.util.Date;

class test{
	public static void main(String [] args){
		Date t = new Date(1198623600 * 1000);
		System.out.println("geht nicht: date1: "+t);
		System.out.println("geht nicht: date1: "+t.getTime());
		long bla = 1198623600;
		bla *= 1000;
		Date t1 = new Date(bla);
		System.out.println("geht: date2: "+t1);
		System.out.println("geht: date2: "+t1.getTime());
	}
}
 
Zurück
Oben