AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTime=?
Thema durchsuchen
Ansicht
Themen-Optionen

Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTime=?

Ein Thema von Tempdir · begonnen am 19. Mär 2009 · letzter Beitrag vom 20. Mär 2009
Antwort Antwort
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTime=?

  Alt 19. Mär 2009, 17:20
Hallo,

hier im Forum gibt es von RobertS diese kleine Funktion um einen Zeitpunkt (DatumZeit) in Unix-Zeit zu wandeln:

Delphi-Quellcode:

function TForm1.CodeUnixDateTime(DatumZeit: TDateTime): Integer;
begin
  Result := ((Trunc(DatumZeit) - 25569) * 86400) +
            Trunc(86400 * (DatumZeit - Trunc(DatumZeit))) - 7200;
end;
Kann mir bitte jemand dabei helfen, mit WAS genau ich diese Funktion füttern muss?

Ich habe mal folgendes probiert:
Delphi-Quellcode:
Procedure DatetoUnix;
var DatumZeit: TDateTime;
begin
  DatumZeit := StrToDateTime('05.04.2007 11:13:34');
  ShowMessage(IntToStr(CodeUnixDateTime(DatumZeit)));
end;
Er gibt mir auch eine Zahl aus, allerdings hab ich keine Ahnung ob das so stimmt?

Besten Dank vorab!
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTim

  Alt 19. Mär 2009, 17:28
Probier mal
Delphi-Quellcode:
Procedure DatetoUnix;
var DatumZeit: TDateTime;
begin
  DatumZeit := StrToDateTime('01.01.1970 01:30:15');
  ShowMessage(IntToStr(CodeUnixDateTime(DatumZeit)));
end;
Sollte sowas wie 5415 ergeben
  Mit Zitat antworten Zitat
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#3

Re: Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTim

  Alt 19. Mär 2009, 17:33
-1785 ... scheint nicht ganz so zu stimmen
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTim

  Alt 19. Mär 2009, 19:08
Hallo,

ich würde die Funktion Delphi-Referenz durchsuchenDateTimeToUnix aus der Unit DateUtils verwenden.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#5

Re: Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTim

  Alt 20. Mär 2009, 08:03
Funktioniert - PERFEKT - DANKE )

Delphi-Quellcode:
DatumZeit := StrToDateTime('01.01.1970 01:30:15');

ShowMessage(IntToStr(DateTimeToUnix(DatumZeit)));
= 5415

Jetzt fällt mir alles etwas leichter in Sachen Datumsvergleich.
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#6

Re: Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTim

  Alt 20. Mär 2009, 08:52
Bedenke aber, dass du hier die Zeit als UTC übergeben musst und nicht als Lokalzeit.


Delphi-Quellcode:
DatumZeit := StrToDateTime('01.01.1970 01:30:15'); // Wenn z.B. deutsche Lokalzeit gemeint ist,
ShowMessage(IntToStr(DateTimeToUnix(DatumZeit))); // dann sollte eigentlich 1815 angezeigt werden
  Mit Zitat antworten Zitat
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#7

Re: Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTim

  Alt 20. Mär 2009, 09:20
Also ich arbeite momentan nur mit dem NOW-Wert:

DateTimeToUnix(Now); Macht das Probleme wenn meine Software auf einem amerikanischen System laufen würde? Diese "Zeitstempel" die ich da erstelle, sind nur zur Laufzeit aktiv. Also nach schließen des Programms sind alle weg.
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#8

Re: Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTim

  Alt 20. Mär 2009, 10:18
Solange du in deinem Programm immer nur lokale Zeiten vergleichst (und nicht CET mit PST), dann sollte das keine Probleme machen.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTim

  Alt 20. Mär 2009, 10:49
Die Verwendung der lokalen Zeit führt meist nur dann zu Problemen wenn die Sommer-/Winterzeitumstellung zuschlägt. Dann kann es, wenn man dies nicht bedacht hat, zu Fehlern führen weil plötzlich die Zeit zurück gestellt wurde.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#10

Re: Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTim

  Alt 20. Mär 2009, 10:53
Zitat von SirThornberry:
Die Verwendung der lokalen Zeit führt meist nur dann zu Problemen wenn die Sommer-/Winterzeitumstellung zuschlägt.
Was wir ja nächste Woche wieder haben...


[edit]
Bekomme ich als einyiger bei diesem (und nur bei diesem Thread) so ein Subject in der E-Mail:
Code:
DP :: Antwort zu "Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTime :: Antwort zu "Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTime: Antwort zu "Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTimeAntwort zu "Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTimetwort zu "Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTimeort zu "Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTimet zu "Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTimezu "Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTime "Funktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTimeFunktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTimenktion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTimetion um Zeitpunkt in Unix-Zeit zu wandeln - TDateTimeon um Zeitpunkt in Unix-Zeit zu wandeln - TDateTime um Zeitpunkt in Unix-Zeit zu wandeln - TDateTimem Zeitpunkt in Unix-Zeit zu wandeln - TDateTimeZeitpunkt in Unix-Zeit zu wandeln - TDateTimeitpunkt in Unix-Zeit zu wandeln - TDateTimepunkt in Unix-Zeit zu wandeln - TDateTimenkt in Unix-Zeit zu wandeln - TDateTimet in Unix-Zeit zu wandeln - TDateTimein Unix-Zeit zu wandeln - TDateTime Unix-Zeit zu wandeln - TDateTimenix-Zeit zu wandeln - TDateTimex-Zeit zu wandeln - TDateTimeZeit zu wandeln - TDateTimeit zu wandeln - TDateTime zu wandeln - TDateTimeu wandeln - TDateTimewandeln - TDateTimendeln - TDateTimeeln - TDateTimen - TDateTime- TDateTimeTDateTimeateTimeeTimeimee?"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz