Autor |
Nachricht |
User
Anmeldungsdatum: 27.08.2010 Beiträge: 5
|
User Verfasst am: 27. Aug 2010 16:52 Titel: Datumsumrechnungen |
|
|
Hallo,
ich habe ein Frage bezüglich der Umrechnung von Datumsangaben. Ich würde gerne Angaben im Format DD.MM.YYYY umwandeln in das Format YYYY,yy mit einem Computerprogramm umrechnen.
Dies würde also zum Beispiel so aussehen, dass ein Datum (27.08.2010) vorhanden ist und ich gerne das Format 2010.66 (Angabe nur geschätzt) erhalten würde.
Bislang habe ich dabei diesen Quellcode verwendet: Code: | angabe = jahr + (monat - 1) / 12 + tag / 365.25; | Leider weiß ich nun nicht, ob dies wirklich genau ist oder nur ein grobe Näherung.
Über Hilfe würde ich mich sehr freuen.
User |
|
|
dermarkus Administrator
Anmeldungsdatum: 12.01.2006 Beiträge: 14788
|
dermarkus Verfasst am: 27. Aug 2010 17:49 Titel: |
|
|
Wenn ich dich richtig verstehe, dann soll in yy stehen, der wievielte Tag dieses Jahres das ist.
Deine bisherige Formel schafft das noch nicht. Denn zum Beispiel für den 02.02.2010 wäre das der 33. Tag des Jahres, also 2010.33, das kannst du dir selber leicht im Kopf abzählen. Und nun vergleich mal, was dein bisheriger Algorithmus dafür ausspuckt.
Um das yy fehlerfrei herauszufinden, musst du wissen, wieviele Tage welcher Monat hat (und dazu außerdem wissen, welches Jahr ein Schaltjahr ist und welches nicht). Und diese Informationen dem Algorithmus zur Verfügung stellen.
Und dann den Algorithmus so schreiben, dass er fleißig für jeden Monat genau die entsprechend richtige Zahl an Tagen abzählt. |
|
|
pressure
Anmeldungsdatum: 22.02.2007 Beiträge: 2496
|
pressure Verfasst am: 27. Aug 2010 17:56 Titel: |
|
|
Ist halt eher die Frage inwiefern so eine Angabe überhaupt genau sein kann, bzw. sinnvoll ist: Nicht jedes Jahr ist ja gleich lang...
Deine Rechnung scheint aber dennoch nicht der beste (genauste) Weg zu sein. Ich würde zunächst ausrechnen, ob das betreffende Jahr ein Schaltjahr ist (dafür gibt es Algorithmen), anschließend würde ich jeden Monat explizit in seine Tage umrechnen und alle addieren. Die Nachkommastellen, ergeben sich dann als Quotient des aktuellen Tages durch die Tage des betreffenden Jahres.
EDIT: dermarkus, der Fragsteller meint mit ,yy wohl eher den Anteil des bisher zurückgelegten Jahres in Gleitkommadarstellung. |
|
|
dermarkus Administrator
Anmeldungsdatum: 12.01.2006 Beiträge: 14788
|
dermarkus Verfasst am: 27. Aug 2010 19:43 Titel: |
|
|
pressure hat Folgendes geschrieben: |
EDIT: dermarkus, der Fragsteller meint mit ,yy wohl eher den Anteil des bisher zurückgelegten Jahres in Gleitkommadarstellung. |
Stimmt, einverstanden |
|
|
User
Anmeldungsdatum: 27.08.2010 Beiträge: 5
|
User Verfasst am: 28. Aug 2010 17:13 Titel: |
|
|
Danke für die schnellen Antworten. Ich werde es jetzt mal mit dieser Variante versuchen. |
|
|
|
|