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 3 von 3     123
Benutzerbild von Luckie
Luckie
(Moderator)

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

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 18:42
Weil man nicht weiß, wie du ihn verbessern willst und jegliche Verbesserung ihn sehr komplex machen würde. Die einfachen Verbesserungen lehnst du ja ab.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DieDolly

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

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 18:46
Dann nochmal ganz klar damit jeder es versteht. Ob 30 tage, Schaltjahr oder 31 Tage ist total egal.

Es geht nur da drum den bestehenden Code zu verbessern. Ich weiß nicht, ob das zu kompliziert ist wie ich die Monate, Tage und so mit Modulo ausrechne.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
881 Beiträge
 
#23

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 22:12
Da, außer bei den Monaten, alles in der Zeitdarstellung nunmal in festen Grenzen gehalten ist, du aber eben diese Monate mit fest 30 Tagen annehmen willst, wird nicht wirklich klar was du daran noch verbessern willst.

Einzig die Genauigkeit wenn man exakte Monatslängen verwenden würde, oder vielleicht die Geschwindigkeit wenn man das ganze in Assembler umsetzen würde.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
7.992 Beiträge
 
Delphi XE4 Professional
 
#24

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 22:12
Hallo,
das Strecken auf 3 (4) Seiten hast du selbst erreicht...,
indem du keine genauen Angaben machst, was Du konkret erreichen willst.
Bzw. wo Du eventuelle Fehler siehst.

Bsp:
LMonths := LDays div 30;

Anzahl der Monate ergibt mit Tage div 30 doch total ungenaue Monate.
Wir schreiben "ist problematisch", Du schreibst "ist egal, wir lassen das div 30"
und wunderst dich dann über Fragen dazu?


Bitte einmal kurz und knapp (wie früher im Mathe-Unterricht )
Was konkret ist Dein Problem mit dem Code aus Posting #1.

gegeben (geg.
gesucht (ges.

Hach, die gute alte Schulzeit
Heiko
  Mit Zitat antworten Zitat
DieDolly

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

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 22:21
Zitat:
Bitte einmal kurz und knapp
Der Code funktioniert.
Ein Problem gibt es nicht.
Ich möchte den Code nur optimieren. Das heißt eventuell kürzen, unnötige und falsche Rechenoperationen entfernen.
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
576 Beiträge
 
Delphi 10.4 Sydney
 
#26

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 22:23
Dann nochmal ganz klar damit jeder es versteht. Ob 30 tage, Schaltjahr oder 31 Tage ist total egal.

Es geht nur da drum den bestehenden Code zu verbessern. Ich weiß nicht, ob das zu kompliziert ist wie ich die Monate, Tage und so mit Modulo ausrechne.
Du möchtest eine Zeitdauer, welche in Sekunden bekannt ist in ein für uns Menschen lesbareres Format umwandeln.

Du kannst nicht einerseits schreiben, dass es dir total egal sei wie lang die Monate seien und andererseits fordern, dass die ganze Sache mathematisch korrekt sei. Beides aufs Mal geht schlicht nicht (log. Widerspruch).

Ohne Probleme korrekt umwandeln kannst du

f: Sekunden ¦-> Tage, Stunden, Minuten, Sekunden

Es macht keinen Sinn die Tage weiter in Monate und Jahre aufzuteilen, weil Monate/Jahre nicht alle gleich viele Tage haben.

Du möchtest ja sicher, dass die Umkehrfunktion
f^(-1): "lesbareres Format" ¦-> Sekunden
definiert ist; d.h. dass die Anzahl Sekunden berechenbar sind.

Das ist mit
f^(-1): Tage, Stunden, Minuten, Sekunden ¦-> Sekunden
gegeben.

Aus einer Angabe
Jahre, Monate, Tage, Stunden, Minuten, Sekunden
hingegen ist es nicht möglich die Sekunden zu berechnen.

_______________________________________

Nur wenn du die Anzahl Sekunden seit einem gewissen Datum als Angabe hättest - beispielsweise 9'002'934 Sekunden seit dem 1.1.2019 0h00m00s - machte die Angabe j Jahre, mo Monate, t Tage, h Stunden, m Minuten, s Sekunden seit 1.1.2019 Sinn. Denn du könntest aus (j,mo,t,h,m,s) wieder auf s schliessen.
Michael Gasser
  Mit Zitat antworten Zitat
DieDolly

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

AW: Code von Zeitrechnung verbessern

  Alt 28. Nov 2019, 22:50
Lassen wir das. Ich renne hier wohl gegen eine Wand.
Keine weiteren Vorschläge mehr. Bringt ja eh nix wenn ich sage "Ist egal ob 30 Tage oder 31!"
  Mit Zitat antworten Zitat
Alt 28. Nov 2019, 22:52     Erstellt von Frühlingsrolle
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.696 Beiträge
 
Delphi 6 Enterprise
 
#28

AW: Code von Zeitrechnung verbessern

  Alt 29. Nov 2019, 08:34
In der jetzigen Form geshst du ja davon aus, dass die Monate 30 Tage haben und somit das Jahr 360 Tage. Ggf. kannst du minmal genauer werden, wenn du aus der Anzahl der Tage/365 zunächst die Jahre berechnest und dann aus dem Rest der Tage die Monate usw.?

Problem dabei: Ist der Rest >= 360 Tage, und du teilst das durch 30 für die Monate können da 12 oder 13 rauskommen. Ist also fraglich ob das hilft.

Oder du rechnest mit genaueren Durschnittswerten für Monate und Jahre und benutzt dann halt nicht div/mod sondern machst das zu Fuß, weil du da ja keine Integer Werte mehr hast:

Delphi-Quellcode:
Jahre:=Trunc(Tage/365.2425);
Resttage:=Tage-Jahre*365.2425;
Monate:=Resttage/(365.2425/12);
Resttage:=Resttage-Monate*(365.2425/12);
Ralph

Geändert von Jumpy (29. Nov 2019 um 08:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.553 Beiträge
 
Delphi 10.3 Rio
 
#29

AW: Code von Zeitrechnung verbessern

  Alt 29. Nov 2019, 09:45
Es ist nunmal mathematisch eben nicht korrekt "31=30" zu sagen. Aber eine mathematische Korrektheit und genauso einen Ausschluß von Fehlern hast Du Dir selbst gewünscht. So kommt man auf 4 und voraussichtlich mehr Seiten.



Sherlock
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
OlafSt

Registriert seit: 2. Mär 2007
Ort: Hamburg
284 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#30

AW: Code von Zeitrechnung verbessern

  Alt 29. Nov 2019, 10:41
Leute, gebt ihm doch endlich die Antwort, die er will:

Lass den Code so, besser geht es nicht.
  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 06:50 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