![]() |
Time to Integer
Guten Tag Community,
wie kann ich einen Datentyp 'Time' aus der DB zu einem Integer wandeln? Grüße |
AW: Time to Integer
Hallo,
In Delphi ist ein Datumswert intern Gleitkomma. Der Ganzahlanteil sind Tage, nach dem Komma kommt alles was kürzer als ein Tag ist. Also wird in deinem Time-Wert eine Zahl zwischen 0 und 1 stehen. Es gibt Functionen mit denen man Datum/Zeit in Windows/Unix/whatever Datum umwandeln kann. Allerdings wäre erstmal interessant wie der wirkliche Datentyp des Feldes ist um das es hier geht. Sonst ist hier alles nur Stochern im trüben. |
AW: Time to Integer
Da du recht viel zeigst wie du es machst und womit und gut beschrieben hast wofür das ganze gut sein soll,
gibts nur eine rudimentäre Antwort:
Delphi-Quellcode:
.
Query1.FieldByName('Time').AsInteger;
Frag mich aber nicht wie Du daraus wieder einen Zeitwert erhalten kannst. |
AW: Time to Integer
Welche Genauigkeit soll das Ergebnis haben?
Wenn Sekunden reichen, dann könnte man etwa sowas machen. Vorteil: Der Wert lässt sich auch wieder als Time zurück konvertieren.
Delphi-Quellcode:
Das Ergbnis wäre in Sekunden und ein Integerwert, wenn die Anzahl der Sekunden im Bereich eines Integers passen, aber dazu ist die Frage zu ungenau
StrToIntDef(FormatDateTime(‚hh‘, <dein Datntyp Time>, 0) * 3600 +
StrToIntDef(FormatDateTime(‚nn‘, <dein Datntyp Time>, 0) * 60 + StrToIntDef(FormatDateTime(‚ss‘, <dein Datntyp Time>, 0) Habe grad keine Möglichkeit am PC, nur über Tablet |
AW: Time to Integer
Das perverse rumgestringe sollte man sich garnicht erst angewöhnen
![]() ![]() ![]() ![]() bzw. ![]() ![]() ![]() usw. ![]() ![]() ... für Zeiten pro Tag oder Zeitdifferenzen, kann man auch direkt rechnen, denn ![]()
Delphi-Quellcode:
ergibt also die Minuten seit Mitternacht
Trunc(TimeOf(DT) * 24 * 60)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:14 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 by Thomas Breitkreuz