![]() |
AW: Code von Zeitrechnung verbessern
Ich habe kein Datum was ich umrechnen möchte. Ich habe eine Sekundenangabe, die zu einer Zeitangabe wie in einem Videoplayer umgerechnet werden sollen.
Das macht mein Code auch aber ich frage, wie man den verbessern kann. Keine Alternatriven bitte. |
AW: Code von Zeitrechnung verbessern
Du kannst die Monate weglassen (zu variabel) und nur noch Tage + Jahre angeben. Für letztere kannst du auch mit dem Mittelwert (365.2425 Tage pro Jahr) rechnen.
|
AW: Code von Zeitrechnung verbessern
Zitat:
Ich dachte eigentlich an eine rechnerische Verbesserung und nicht an eine durch Löschen von irgendwelchen Informationen die man braucht. |
AW: Code von Zeitrechnung verbessern
Naja, du sagtest ja
Zitat:
Monate hier anzugeben, kann eigentlich gar nicht richtig funktionieren. (sind 60 Tage jetzt 2 Monate 0 Tage oder 2 Monate und 1 Tag?) |
AW: Code von Zeitrechnung verbessern
Das mit dem Videoplayer war nur ein Beispiel. Ich möchte natürlich sämtliche Informationen behalten!
|
AW: Code von Zeitrechnung verbessern
Delphi-Quellcode:
Wenn Du damit rechnest, und Dir die reale Zeit egal ist, dann ist es doch OK für dich.
LMonths := LDays div 30; // --> ! Hier passt es nicht, sind das sowas wie "Industrietage" ?
LDays := LDays mod 30; // --> ! dito Was genau willst Du denn überhaupt erreichen, beste Performance ? |
AW: Code von Zeitrechnung verbessern
Ich glaube, du bist dir der Problematik der Monate nicht bewusst. Die Monate sind unterschiedlich lang. Und sind sie nicht mal konstant lang siehe Monat Februar. Wenn du jetzt eine Zeitspanne hast. Sagen wir 50 Jahre, dann musst du die Anzahl der enthaltenen Schaltjahre berücksichtigen und entsprechend die Länge des Monats Februar. Das ist aber nur die halbe Miete. Es kommt noch darauf an in welche Jahre die Zeitspanne fällt. Denn die Anzahl der Schaltjahre kann variieren in welche Jahre die Zeitspanne fällt. Das sind komplexe Berechnungen, wenn man überhaupt alleine mit Berechnungen das Problem lösen kann und nicht noch eine Tabelle benötigt zum Nachschlagen.
|
AW: Code von Zeitrechnung verbessern
Zitat:
Löst TimeSpan.FromSeconds() das mit den Schaltjahren und so denn richtig? Edit hat sich erledigt. TimeSpan kann keine Monate und Jahre anzeigen. Es gfeht wie zuvor nur um den Codeschnipsel im Eingangspost. Belassen wir es einfach bei 30 Tagen. Es geht mir nur drum, ob das mit Modulo usw richtig ist. |
AW: Code von Zeitrechnung verbessern
Wenn es nur um Zeit geht kannst Du es ja mit 360 "Industrietagen" glattbügeln.
Wenn es aber mit der realen Zeit irgendwie in Zusammenhang stehen muss, würde ich immer mit Startdatumzeit, Differenzzeit und Enddatumzeit rechnen. So kann man die Differenz zw. Start-End bekommen, oder umgekehrt das Ende aus Startzeit + Differenzsekunden berechen. Ist aber halt nicht einfach nur A + B, sondern eine Kombination aus den Datumsfunktionen, je nachdem was genau Du erreichen möchtest. |
AW: Code von Zeitrechnung verbessern
Zitat:
Zitat:
Dass man das jetzt auf 3 Seiten strecken muss, ist mir ein Rätsel. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 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