AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Code von Zeitrechnung verbessern

Ein Thema von DieDolly · begonnen am 28. Nov 2019 · letzter Beitrag vom 29. Nov 2019
Antwort Antwort
Seite 2 von 3     12 3   
DieDolly

Registriert seit: 22. Jun 2018
1.913 Beiträge
 
#11

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 16:29
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.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.578 Beiträge
 
#12

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 17:04
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.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.913 Beiträge
 
#13

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 17:06
Zitat:
Du kannst die Monate weglassen (zu variabel) und nur noch Tage + Jahre angeben.
Wie genau meinst du das? Ich verstehe nicht warum ich eine solche Information weglassen sollte.

Ich dachte eigentlich an eine rechnerische Verbesserung und nicht an eine durch Löschen von irgendwelchen Informationen die man braucht.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.578 Beiträge
 
#14

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 17:39
Naja, du sagtest ja
Zitat:
Ich habe eine Sekundenangabe, die zu einer Zeitangabe wie in einem Videoplayer umgerechnet werden sollen.
Und ich würde da eben empfehlen, gar keine Monate anzugeben. Also werden aus 36.767.506 Sekunden eben einfach "1 Jahr, 60 Tage, 7 Stunden, 22 Minuten und 34 Sekunden"
Monate hier anzugeben, kann eigentlich gar nicht richtig funktionieren. (sind 60 Tage jetzt 2 Monate 0 Tage oder 2 Monate und 1 Tag?)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.913 Beiträge
 
#15

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 17:44
Das mit dem Videoplayer war nur ein Beispiel. Ich möchte natürlich sämtliche Informationen behalten!
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.216 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 17:46
Delphi-Quellcode:
 LMonths := LDays div 30; // --> ! Hier passt es nicht, sind das sowas wie "Industrietage" ?
 LDays := LDays mod 30; // --> ! dito
Wenn Du damit rechnest, und Dir die reale Zeit egal ist, dann ist es doch OK für dich.
Was genau willst Du denn überhaupt erreichen, beste Performance ?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#17

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 17:50
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.913 Beiträge
 
#18

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 17:56
Zitat:
Was genau willst Du denn überhaupt erreichen, beste Performance ?
Es soll nur mathematisch korretekt sein. Schaltjahre und sowas sind mir total egal weil das noch da mit einzubauen würde alles sprengen.

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.

Geändert von DieDolly (28. Nov 2019 um 18:09 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.216 Beiträge
 
Delphi 10.4 Sydney
 
#19

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 18:16
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.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.913 Beiträge
 
#20

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 18:21
Zitat:
würde ich immer mit Startdatumzeit, Differenzzeit und Enddatumzeit rechnen.
Diese Informationen gibt es nicht. Es gibt nur diese Sekunden.

Zitat:
je nachdem was genau Du erreichen möchtest.
Ich wollte eigentlich nur wissen, wie man den Code verbessert den ich eingangs erwähnt habe. Mehr nicht.
Dass man das jetzt auf 3 Seiten strecken muss, ist mir ein Rätsel.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 14:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf