AGB  ·  Datenschutz  ·  Impressum  







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

TryStrToDateTime fehlerhaft?

Ein Thema von Amateurprofi · begonnen am 24. Okt 2024 · letzter Beitrag vom 24. Okt 2024
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.338 Beiträge
 
Delphi 12 Athens
 
#1

AW: TryStrToDateTime fehlerhaft?

  Alt 24. Okt 2024, 10:55
TDateTime kann wesentlich mehr darstellen,
aber die anderen API, welche in dessen Zusammenhang genutzt werden, z.B. der SystemTime-Record, sind aber beschränkt.
Sowie Funktionen für das Editieren des Wertes, sowie beim Konvertieren von und zu Strings.

Außerdem wird TDateTime etwas ungenauer, je weiter man von 1900 abweicht. (je größer der Teil vor dem Komma, um so weniger gibt es hinter dem Komma)

1 Millisekunde = 0,000000011574
bei 15 bis 16 signifikanten Stellen des TDateTime aka Double, nja ...
Code:
      0,000000011574
1234567,89012345
9999999 = 27378 Jahre
 999999 =  2738 Jahre

1900 + 2738  =  4638
1900 + 27378 = 29278
In 2500 Jahren wird also die letzte Millisekunde anfangen schwammig zu werden.
Und bei deinen ~20.000 Jahren ist sie dann ganz weg ... isses dann halt nur noch 'ne Hundertstelsekunde genau.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (24. Okt 2024 um 14:42 Uhr)
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.087 Beiträge
 
Delphi XE2 Professional
 
#2

AW: TryStrToDateTime fehlerhaft?

  Alt 24. Okt 2024, 11:16
TDateTime kann wesentlich mehr darstellen,
aber die anderen API, welche in dessen Zusammenhang genutzt werden, z.B. der SystemTime-Record, sind aber beschränkt.

Außerdem wird TDateTime etwas ungenauer, je weiter man von 1900 abweicht. (je größer der Teil vor dem Komma, um so weniger gibt es hinter dem Komma)

1 Millisekunde = 0,000000011574
bei 15 bis 16 signifikanten Stellen des TDateTime aka Double, nja ...
Code:
      0,000000011574
1234567,89012345
9999999 = 27378 Jahre
 999999 =  2738 Jahre

1900 + 2738  =  4638
1900 + 27378 = 29278
In 2500 Jahren wird also die letzte Millisekunde anfangen schwammig zu werden.
Und bei deinen ~20.000 Jahren ist sie dann ganz weg ... isses dann halt nur noch 'ne Hundertstelsekunde genau.
Ich hatte keinen Zeit-Anteil angegeben, aber alles richtig, was du sagtest.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  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:33 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