![]() |
Delphi-Version: XE7
TDateTime Rechnungen über 0 ('30.12.1899 00:00')
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen,
ich bin über eine interessante Eigenheit vom des TDateTime - Formats gestoßen: Wenn ein Datum < '30.12.1899' , also intern 0 ist, verhält sich der Wert des Datums gespiegelt zu den Werten > 0 (Wie auch in der Dokumentation beschrieben) Was zur Folge hat das, vom Datum her -0,5 = 0,5 = '30.12.1899 12:00' ist. Für mich ist der Umstand das es hier gespiegelt und nicht chronologisch im Datumsformat weiter geht unlogisch und führt bei Rechenoperationen die den 0 - Wert über bzw unterschreiten zu Problemen (Wenn vom '31.12.1899 00:00' 1,5 Tage abgezogen werden, kommt der '30.12.1899 12:00' heraus) Wie ist hier, eurer Meinung nach, der korrekte Weg um solche Berechnungen richtig abzubilden? PS.: Im Anhang ist ein kleines Test - Projekt, mit dem Konvertierungen zwischen Float und Datetime durchgeführt werden, damit wird auch relativ schnell sichtlich, dass -0,5 und +0,5 in TDatetime das "selbe" sind. |
AW: TDateTime Rechnungen über 0 ('30.12.1899 00:00')
![]() Zitat:
Zitat:
Wenn du solche wilden Datumsbereiche betrittst würde ich persönlich mir das nicht antun und ein eigenes Datumsformat und nicht TDateTime nehmen. |
AW: TDateTime Rechnungen über 0 ('30.12.1899 00:00')
Zitat:
Aber wenn man sich selber nicht mit dem Datenformat beschäftigen will/kann, dann nimmt man eben ![]() ![]() ![]() |
AW: TDateTime Rechnungen über 0 ('30.12.1899 00:00')
Bei der Gelegenheit noch einmal:
Zitat:
|
AW: TDateTime Rechnungen über 0 ('30.12.1899 00:00')
WINDOWS.SYSTEMTIME
![]() wYear: The year. The valid values for this member are 1601 through 30827. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 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