![]() |
Anzahl Sekunden seit 1.3.2000 - hin und zurück
Hallo,
ich arbeite an einer Programmierung, für die auch RFID-Scanner benötigt werden. Diese erfassen nur die Nummer des RFID-Chips und Datum/Uhrzeit des Lesevorgangs. Um den aktuellen Datums- und Zeitwert auszulesen und ihn ggf. zu korrieren, gibt es folgenden Wert, der sich über die Programmierschnittstelle auslesen lässt: Zitat:
Ich habe also einen LongInt-Wert, den ich irgendwie in einen TDatetime-Wert umwandeln müsste, habe aber derzeit keine Idee, wie. Die UnixToDateTime-Funktio aus DateUtils hat ja den 1.1.1970 als Referenzdatum. Gibts da was ähnliches mit "variablem" Referenzdatum? Um Datum und Uhrzeit im Scanner zu setzen, kann ich ja mit SecondsBetween arbeiten, nur beim Umwandeln haperts. Hat vielleicht jemand eine Idee? Gruß Frank |
Re: Anzahl Sekunden seit 1.3.2000 - hin und zurück
![]() Oder du verwendest doch UnixToDateTime und addierst/subtrahierst jeweils vorher die Differenz zwischen den beiten Referenzdaten. |
Re: Anzahl Sekunden seit 1.3.2000 - hin und zurück
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var scanTime : TDateTime; seconds : Integer; begin seconds := 310000000; scanTime := StrToDatetime('01.03.2000') + seconds / SecsPerday; ShowMessage(DateToStr(scanTime)); end; |
Re: Anzahl Sekunden seit 1.3.2000 - hin und zurück
|
Re: Anzahl Sekunden seit 1.3.2000 - hin und zurück
Delphi-Quellcode:
IncSecond( EncodeDate( 2000, 3, 1 ), DerWertAusDerSchnittstelle )
|
Re: Anzahl Sekunden seit 1.3.2000 - hin und zurück
Hallo,
danke für die Antworten. Ich hab den Code von Reinhardinho übernommen, der funktioniert prächtig. @SirRufo: Was macht die Funktion "IncSeconds"? Meine Delphi-Hilfe schweigt sich hierzu leider aus :( Gruß Frank |
Re: Anzahl Sekunden seit 1.3.2000 - hin und zurück
Guckst du
![]() |
Re: Anzahl Sekunden seit 1.3.2000 - hin und zurück
Zitat:
![]() Der Code von Reihnardino berechnet das ein wenig "durch die Brust ins Auge" - geht, ist aber etwas umständlich und birgt auch evtl. eine gewisse Unschärfe durch das Dividieren. Mein Code macht genau das, was der Hersteller da vorgibt: "Addiere zum Datum 01.03.2000 die Sekunden hinzu" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz