AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Cardinal in TDateTime

Ein Thema von duff · begonnen am 9. Okt 2006 · letzter Beitrag vom 9. Okt 2006
Antwort Antwort
Benutzerbild von duff
duff

Registriert seit: 26. Jan 2005
Ort: Brühl
76 Beiträge
 
Delphi 2007 Professional
 
#1

Cardinal in TDateTime

  Alt 9. Okt 2006, 18:41
Hallo,

ich habe eine Cardinal Zahl die so

Code:
3369061800 // sollte 05.10.2006 19:30 sein
aussieht!

Jetzt will ich diese Zahl in TDateTime umwandeln nur schaffe ich das nicht. Einfach hinter die fünfte Stelle ein Komma einfügen ist nicht so schick oder???

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Cardinal in TDateTime

  Alt 9. Okt 2006, 18:47
Delphi-Quellcode:
var dt: TDateTime;
begin
  dt:=UnixToDateTime(3369061800);
end;
EDIT: Allerdings wäre der richtige Wert dann 1160076600.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von duff
duff

Registriert seit: 26. Jan 2005
Ort: Brühl
76 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Cardinal in TDateTime

  Alt 9. Okt 2006, 19:26
Wenn ich mich nicht täusche ist UnixToDateTime doch von 01.01.1970 00:00 an gerechnet!! Diese mir vorliegende Zeit ist aber vom 1.1.1900 00:00 an gerechnet!!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Cardinal in TDateTime

  Alt 9. Okt 2006, 19:45
Und in welcher Einheit?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von duff
duff

Registriert seit: 26. Jan 2005
Ort: Brühl
76 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Cardinal in TDateTime

  Alt 9. Okt 2006, 19:58
Wenn ich das wüsste... ich bekomme diesen Wert aus einer Binären Datei die nicht wirklich dokumentiert ist!!

Was ich rausfinden konnte ist dieses

Zitat:
04-07 : 04 Byte / longword / Uhrzeit in Sekunden seit 01.01.1900 00:00
  Mit Zitat antworten Zitat
Benutzerbild von duff
duff

Registriert seit: 26. Jan 2005
Ort: Brühl
76 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Cardinal in TDateTime

  Alt 9. Okt 2006, 20:30
habs...

Delphi-Quellcode:
function SekundenToDateTime (sec: Int64): TDateTime;
var
  DTime : TDateTime;
begin
  DTime := sec / (60 * 60 * 24);
  Result := DTime;
end;
  Mit Zitat antworten Zitat
Benutzerbild von stz
stz

Registriert seit: 8. Sep 2005
Ort: Neuendeich, Lübeck
277 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Cardinal in TDateTime

  Alt 9. Okt 2006, 21:05
Zitat von duff:
habs...

Delphi-Quellcode:
function SekundenToDateTime (sec: Int64): TDateTime;
var
  DTime : TDateTime;
begin
  DTime := sec / (60 * 60 * 24);
  Result := DTime;
end;
eine Variable zu viel
mein Vorschlag:
Delphi-Quellcode:
function SekundenToDateTime (sec: Int64): TDateTime;
begin
  Result := sec / (60 * 60 * 24);
end;
Gruß
Malte
Malte Schmitz
Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.

Entwickler des HTML-Editors MEdit (DP)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Cardinal in TDateTime

  Alt 9. Okt 2006, 21:16
Besser so:

Delphi-Quellcode:
function SekundenToDateTime (sec: Int64): TDateTime;
begin
  Result := 2.0 + sec / (60 * 60 * 24);
end;
Delphi verwendet den 30.12.1899 als Referenzdatum, nicht den 1.1.1900.

Gute Nacht

marabu
  Mit Zitat antworten Zitat
Benutzerbild von duff
duff

Registriert seit: 26. Jan 2005
Ort: Brühl
76 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Cardinal in TDateTime

  Alt 9. Okt 2006, 21:17
Danke und GN8
  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 21:27 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