![]() |
Code von Zeitrechnung verbessern
Mir kam ein Stück Code über den Weg. Das ist schon was her.
Das kann man auch mit TimeSpan machen aber ich würde gerne verstehen, wie man das hier verbessern kann?
Delphi-Quellcode:
LDivisor := 60;
LSeconds := Seconds mod LDivisor; LMinutes := (Seconds div LDivisor) mod LDivisor; LHours := (Seconds div LDivisor) div LDivisor; LDays := LHours div 24; LHours := LHours mod 24; LMonths := LDays div 30; LDays := LDays mod 30; LYears := LMonths div 12; LMonths := LMonths mod 12; |
AW: Code von Zeitrechnung verbessern
Bitte ankreuzen, in welcher Hinsicht verbessern?
[ ] Geschwindigkeit [ ] Lesbarkeit/Verständlichkeit [ ] Quelltextlänge/Kürze [ ] Egal, ich stelle gerne programmiertechnisch-esoterische Fragen [ ] Ich habe gar kein richtiges Problem, versuche mich nur abzulenken |
AW: Code von Zeitrechnung verbessern
Zitat:
|
AW: Code von Zeitrechnung verbessern
Zitat:
Es sei denn, man ist eine Bank und berechnet Zinsen, dann ist das komischerweise erlaubt. Trotzdem ist die Berechnung dann falsch. |
AW: Code von Zeitrechnung verbessern
Deswegen bin ich hier, um das zu verbessern. Ich bin leider nicht ganz firm auf dem Gebiet.
|
AW: Code von Zeitrechnung verbessern
Die korrekte Berechnung ist wesentlich komplizierter, weil auch die unterschiedliche Länge der Monate, die Schaltjahre & evtl. der Übergang zwischen Julianischem und Gregorianischem Kalender berücksichtigt werden müssen.
Gruß, Andreas |
AW: Code von Zeitrechnung verbessern
Warum verlässt Du dich nicht auf die
![]() |
AW: Code von Zeitrechnung verbessern
TTimeSpan kann das bis zu Days auf einen Aufruf (FromSeconds) herunterbrechen. Für Monate und Jahre geht des wegen der unterschiedlichen Längen dieser Einheiten nun mal nicht.
|
AW: Code von Zeitrechnung verbessern
TTimeSpan und DateUtils möchte ich nicht verwenden.
Ich möchte aus Sekunden Jahre, Monate, Tage, Stunden Minuten und Sekunden machen. Das klappt mit dem Code da oben auch aber ich frage mich, wie man den verbessern kann denn der ist bestimmt alles andere als richtig. |
AW: Code von Zeitrechnung verbessern
Wenn Du generell gewillt bist, bestehende Library-Routinen einzusetzen würde ich
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 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