Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

dayofyear in datum umwandeln

Empfohlene Antworten

Veröffentlicht

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.

Mh da gibts doch:

Calendar.MONTH

und Calendar.DAY_OF_MONTH

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.

hat funktioniert danke!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.