Veröffentlicht 14. November 200816 j Hallo, habe folgendes Problem: Ich hab zb. dayOfYear= x ( x= Tage) diesen Wert möchte ich in das Jahresdatum umrechnen lassen (beginn 1.1) und meinen beiden Variable day= und month= das entsprechende Datum /Werte zuweisen. zb. dayofyear= 5 => day= 5 month=1 oder dayofyear=163 => day=12 month=6 (nur innerhalb eines jahres (kein Schaltjahr) mit jan=31 tage feb=28 tage märz=31...) als Lösung würde mir nur einfallen das ich für jeden monat eine min/max dayofyear zahl setze und dann die zahlen vergleiche bis der monat gefunden wurde was aber sehr umständlich ist. -hab mit Java erst angefangen bitte beachten bin für jede Hilfe dankbar Oli.
17. November 200816 j Der Weg über Calendar wäre wohl der einfachste. Du holst dir ein Calendar-Objekt und setzt die Zeit in Millisekunden auf dayOfYear*1000*60*60*24. Danach kannst du dir mit calendar.get(Calendar.{IDENTIFIER}) die entsprechenden Daten rausziehen. oder du machst es selbst mit einem Array und einer Schleife. Du legst dir zuerst einmal ein int-Array an mit den längen der Monate (31,28,31...). Danach eine int-variable aktuellerMonat(0). Nun startest du eine while-Schleife welche als Bedingung hat: dayofyear > monate[aktuellermonat]. Wenn ja, dann zeihst du monate[aktuellermonat] von dayOfYear ab und erhöhst aktuellerMonat um 1. Nach der Schleife entspricht monate+1 deinem Monat und dayOfYear ist der Restwert der nicht mehr abgezogen werden konnte. Also ein Tag im Monat. Wenn du eine ArrayIndexOutOfBoundsException bekommst solltest du aufhören Werte einzugeben/anzunehmen die größer sind als 365.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.