Equilibrium2k Geschrieben 14. November 2008 Geschrieben 14. November 2008 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. Zitieren
gotcha Geschrieben 14. November 2008 Geschrieben 14. November 2008 Mh da gibts doch: Calendar.MONTH und Calendar.DAY_OF_MONTH Zitieren
speedi Geschrieben 17. November 2008 Geschrieben 17. November 2008 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. Zitieren
Equilibrium2k Geschrieben 17. November 2008 Autor Geschrieben 17. November 2008 hat funktioniert danke! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.