Entwickler-Ecke

Windows API - Timestamp holen


Larus - Do 02.03.06 22:24
Titel: Timestamp holen
wie kann ich bei Delphi den aktuellen Systemtimestamp holen?
gibt es eine ähnliche fkt. wie bei PHP time(); ?


Delete - Do 02.03.06 22:25
Titel: Re: Timestamp holen
user profile iconLarus hat folgendes geschrieben:
wie kann ich bei Delphi den aktuellen Systemtimestamp holen?
gibt es eine ähnliche fkt. wie bei PHP time(); ?

Meinst du damit, die Uhrzeit auslesen?

Delphi-Quelltext
1:
showmessage(timetostr(now));                    


Larus - Do 02.03.06 23:34

das ganze jetzt nur noch als timestamp...


Delete - Do 02.03.06 23:36


Delphi-Quelltext
1:
 ds:= now; //timestamp setzen                    


Larus - Fr 03.03.06 22:13

ihr wisst was ich mit timestamp meine?
einen integer der die Sec. seit 1970 ausgibt (wann genau in 1970 weiß ich nicht)


Delete - Fr 03.03.06 22:18

user profile iconLarus hat folgendes geschrieben:
ihr wisst was ich mit timestamp meine?

Nein - eben nicht! ;)
user profile iconLarus hat folgendes geschrieben:
wann genau in 1970 weiß ich nicht

Das such mal nach der Antwort ;)

Du müsstest erstmal die Jahresdifferenz ausrechnen, dann das in Sekunden umwandeln. Dann die übrigen Tage ermitteln, in Sekunden umrechnen, dann die verbliebenen Stunden in Sekunden umwandeln usw. und an Ende alles addieren. Obwohl mir (derzeit!) kein Datentyp bekannt ist, der so eine große Zahl speichern kann :gruebel:


Delete - Fr 03.03.06 22:19

Wikipedia sagt:
Zitat:

Die am weitesten verbreitete Art von Zeitstempel ist wohl die Unixzeit, welche die Anzahl der Sekunden seit dem 1. Januar 1970 00:00 Uhr UTC angibt.

Quelle: http://de.wikipedia.org/wiki/Timestamp


Larus - Fr 03.03.06 22:34

gibt es denn unter Delphi keinen Befehl wie bei PHP der einfach nur time() lautet und dierelt den passenden Integer zurückliefert?


Delete - Fr 03.03.06 22:44

Ist mir nicht bekannt, aber du könntest dir die Funktion selber schreiben.


GTA-Place - Sa 04.03.06 02:30


Delphi-Quelltext
1:
2:
3:
4:
5:
var
  TStamp: Integer;
begin
  TStamp := DateTimeToUnix(Now);
end;


DateUtils muss in die Uses-Klausel aufgenommen werden.


Larus - So 05.03.06 13:33

thx