[Java] Timestamp

PlaciD

Böhser Onkel
ID: 55555
L
11 Februar 2007
722
104
Hi,

ich bin fast am verzweifeln. Ich schaffe es nicht, einen ordentlichen Unix-Timestamp in Java zu erzeugen.

Aktuell habe ich folgenden code:

Code:
public long createTimestamp(){
		Date date = new Date();
		return date.getTime();
	}

Raus kommen tun 13 Stellen. Ein Unix-Timestamp ist aber doch nur 12 Stellen, jedenfalls in PHP ist er 10 Stellen. Ich bin arg verwirrt!

Kann mir jemand weiterhelfen?

Google verwirrt mich gerade eher noch mehr :-?

So, ich bin doof und habe es gerade gelöst. Hatte in der Müdigkeit überlesen, dass der Output von getTime() in Millisekunden erfolgt.

Folgende Funktion erfüllt deshalb ihren Zweck:

Code:
public long createTimestamp(){
		Date date = new Date();
		return date.getTime()/1000;
	}

Jetzt brauche ich nur noch eine Funktion, die mir das ganze wieder in ein ordentliches Datum zurückformatiert. Ich glaube da muss ich Google nochmal anwerfen!

Danke und Grüße,
PlaciD
 
Zuletzt bearbeitet:
Jetzt brauche ich nur noch eine Funktion, die mir das ganze wieder in ein ordentliches Datum zurückformatiert. Ich glaube da muss ich Google nochmal anwerfen!
Selbiges Spielchen umgekehrt ? ;)
PHP:
public String timestampToString(long timestamp) {
    //Date date = new Date(timestamp);
    //edit:
    Date date = new Date(timestamp * 1000);
    return date.toString();
}
Ungetestet, aber laut Manual müsste es so klappen.

edit:
Der Faktor 1000 muss natürlich wieder mitrein, wenn du keine Millisekunden (wie Java erwartet), sondern ganze Sekunden hast.