bewegliche Feiertage berechnen

JavaMaus1

Mitglied
Hallo liebe Forums Gemeinde,

ich stehe gerade vor der Herausforderung die beweglichen Feiertage in Baden-Württemberg berechnen zu müssen. Das mit dem Osterdatum hat geklappt. Jetzt stehe ich vor der Herausforderung Christi Himmelfahrt berechnen zu wollen. Dies ist immer 39 Tage nach Ostern und immer im Marz oder im April. Leider versteht meine Software, in die ich das genze integrieren muss nichts von Klassen, daher sieht der Code etwas befremdlich aus.... aber ich bin zuversichtlich, ihr werdet es verstehen....

Hat jm. ne Idee wie man das Datum von Himmelfahrt berechen könnte? Habe kein Date Format sondern nur getrennte Integer für Tag, Monat und Jahr...

Danke schon jetzt! :applaus:

[Java]
/*------------------------------------------------------------------------*/
/*Ermittlung der variablen Feiertage*/

/*Ostersonntag (OS)*/
int OS_a; int OS_b; int OS_c; int OS_d; int OS_e; int OS_f; int OS_g; int OS_h; int OS_i; int OS_j; int OS_k; int OS_l; int OS_x;

OS_a = jahr%19;
OS_b = jahr/100;
OS_c = jahr%100;
OS_d = OS_b/4;
OS_e = OS_b%4;
OS_f = (OS_b+8)/25;
OS_g = (OS_b-OS_f+1)/3;
OS_h = (19*OS_a+OS_b-OS_d-OS_g+15)%30;
OS_i = OS_c/4;
OS_j = OS_c%4;
OS_k = (32+2*OS_e+2*OS_i-OS_h-OS_j)%7;
OS_l = (OS_a+11*OS_h+22*OS_k)/451;
OS_x = OS_h+OS_k-7*OS_l+114;
Ostermonat = OS_x/31;
Ostertag = (OS_x%31)+1;
if (Ostermonat == monat && Ostertag == tag)
{bez ="Ostersonntag"; bEMail=true;}

/*Karfreitag*/
if (Ostermonat == monat && Ostertag - 2 == tag)
{bez ="Karfreitag"; bEMail=true;}

/*Ostermontag*/
if (Ostermonat == monat && Ostertag + 1 == tag)
{bez ="Ostermontag"; bEMail=true;}

/*Christi Himmelfahrt (CH) - immer 39 Tage nach Ostern*/

/*??*/

[/code]
 

JavaMaus1

Mitglied
Ne, ich könnte sie benutzen, wenn die Software, in die ich den Code integriere, Konstruktoren o.ä. kennen würde. Leider kann die das nicht - das macht alles etwas komplex - sonst hätte man sich ja mit Simpledateformat behelfen können - das funktioniert aber leider nicht.... :-/
 

MarderFahrer

Gesperrter Benutzer
Jetzt stehe ich vor der Herausforderung Christi Himmelfahrt berechnen zu wollen. Dies ist immer 39 Tage nach Ostern und immer im Marz oder im April.

Dieses Jahr ist Himmelfahrt am 2.6.2011. Oder bezog sich das "März oder im April" auf Ostern?

Nichtsdestotrotz, Ostern ist immer im April oder März. Wenn du das Datum hast, könntest du prüfen welcher Monat es im Einzelfall ist. Daran kann man auch ablesen wie viele Tage dieser Monat hat. März immer 31, April immer 30. Dann müsste man nur noch vom Ostertag 39 Tage dazu zählen. Und auf diese Weise kommt man dann beim Tag/Monat von Himmelfahrt an.
 

jgh

Top Contributor
aber wir reden schon noch über java...deine übergabe-parameter sind halt integers, oder?
dann könnte man das bspw so rechnen, da du ja -wie auch immer- dein Ostersonntag gegeben hast:

Java:
public static void main(String[] args) {
		// das ist ja wie auch immer von dir gegeben:
//		dieses Jahr fällt Ostersonntag auf den 24.April 
		int osterSonntag = 24;
		int osterMonat = 4;
		int osterJahr = 2011;

		Calendar cal = new GregorianCalendar();
		cal.set(Calendar.DAY_OF_MONTH, osterSonntag);
		// btw Januar ist der 0. Monat, deswegen -1
		cal.set(Calendar.MONTH, osterMonat - 1);
		cal.set(Calendar.YEAR, osterJahr);
		// die 39 Tage addieren
		cal.add(Calendar.DAY_OF_YEAR, 39);

		int tagHimmelfahrt = cal.get(Calendar.DAY_OF_MONTH);
// hier die Addition des einen Monats für die übliche Darstellung nicht vergessen
		int monatHimmelfahrt = (cal.get(Calendar.MONTH)) + 1;
		int jahrHimmelfahrt = cal.get(Calendar.YEAR);

		// kurze Kontrollausgabe
		System.out.println("Himmelfahrt ist am " + tagHimmelfahrt + "."
				+ monatHimmelfahrt + "." + jahrHimmelfahrt);
	}

[XML]Ausgabe:
Himmelfahrt ist am 2.6.2011[/XML]
 
Zuletzt bearbeitet:

Quaxli

Top Contributor
Oben steht aber, daß keine Klassen verwendet werden können. Da bleibt wohl nur, das Ganze zu Fuß auszukaspern.
 

jgh

Top Contributor
...Leider versteht meine Software, in die ich das genze integrieren muss nichts von Klassen, daher sieht der Code etwas...

ich hatte das so verstanden, dass irgendeine Software die Feiertage benötigt und zwar als getrennte integer für tag/monat/jahr, und somit eine Übergabe als Date oder was auch immer nicht funktioniert.

Aber gut...evtl hast du Recht...wir werden es sehen ;)
 

JavaMaus1

Mitglied
So, danke erstmal für eure Hilfen.
Quaxli hat recht.... habe mal via Fußweg agiert :-/ Der Weg war lang... für euch nochmal der Code (ist besoimmt nicht der schönste, aber funktioniert nach den ersten tests ganz gut...

Java:
/*Christi Himmelfahrt (CH)*/
int CH_OS_MonatResttage;
int CH_b;

	/*Resttage des Monats ermitteln: ausschließlich März oder April*/
	if (Ostermonat ==3)
		CH_OS_MonatResttage = 31;
	else 
		CH_OS_MonatResttage = 30;

	CH_b = 39 - (CH_OS_MonatResttage - Ostertag);

	if (CH_b > 30 && Ostermonat == 3)
		{CH_tag = CH_b - 30; CH_monat = 5;}
	else if (CH_b < 30 && Ostermonat == 3)
		{CH_tag = CH_b; CH_monat = 4;}

	if (CH_b > 31 && Ostermonat == 4)
		{CH_tag = CH_b - 31; CH_monat = 6;}
	else if (CH_b < 30 && Ostermonat == 4)
		{CH_tag = CH_b; CH_monat = 5;}

if (CH_monat == monat && CH_tag == tag)
	{bez ="ChristiHimmelfahrt"; bEMail=true;}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Suche Java Klasse die Feiertage berechnen kann Allgemeine Java-Themen 2
D Feiertage berechnen Allgemeine Java-Themen 8
Encera Größe eines Objektes in Byte berechnen Allgemeine Java-Themen 2
bittedanke Wie benötigte Bits berechnen (Huffmankodierung) Allgemeine Java-Themen 7
C Koordinaten LONG/LAT eines neuen Punktes in bestimmter Entfernen und Winkel berechnen Allgemeine Java-Themen 3
ReinerCoder Kombinationsmöglichkeiten der Textfelder berechnen Allgemeine Java-Themen 14
S Mittelwert anhand eines Stream berechnen Allgemeine Java-Themen 5
MiMa Prüfziffer einer EAN Nummer berechnen Allgemeine Java-Themen 4
C Java Script Pause berechnen Allgemeine Java-Themen 5
D Kgv aller Paare aus einem Array mit n integer berechnen Allgemeine Java-Themen 5
MaxG. Best Practice Alle Kombinationen berechnen Allgemeine Java-Themen 3
Aruetiise Funktion(y = mx+n) in String speichern und berechnen Allgemeine Java-Themen 9
N Das große O berechnen Allgemeine Java-Themen 2
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
N Kombinationen beliebiger Größe berechnen Allgemeine Java-Themen 1
The Pi Anzahl der Gewichtscheiben berechnen Allgemeine Java-Themen 11
B Hirsch-Index berechnen Allgemeine Java-Themen 11
B Umfang berechnen für Polygone Allgemeine Java-Themen 18
C pplet Mitelwert Berechnen Allgemeine Java-Themen 0
J Primzahlen berechnen Allgemeine Java-Themen 13
K F-Verteilung FINV in Java berechnen Allgemeine Java-Themen 4
A Helligkeit eines Bildes berechnen Allgemeine Java-Themen 1
P Methoden Alle Kombinationen aus 2 Karten berechnen Allgemeine Java-Themen 2
C mp3-Lied Dauer berechnen Allgemeine Java-Themen 1
L Winkel eines Vektors berechnen [Anfängerprob] Allgemeine Java-Themen 5
R Threads Taskzeit berechnen Allgemeine Java-Themen 12
S Eclipse Entfernung berechnen Allgemeine Java-Themen 16
T Kreis und sekant schnittpunkt berechnen mit latitude longitude Allgemeine Java-Themen 4
B Java Diffentialgleichungen berechnen Allgemeine Java-Themen 3
W 2D-Grafik Kontrast eines Bildes berechnen Allgemeine Java-Themen 6
T Taylorpolynom berechnen Allgemeine Java-Themen 14
S Erste Schritte Mittelsenkrechte berechnen Allgemeine Java-Themen 3
P Matrix Kurtosis berechnen Allgemeine Java-Themen 40
S Werte aus 2 eindimensionale boolean arrays mithilfe von logischen operatoren berechnen Allgemeine Java-Themen 6
S Teiler Berechnen Allgemeine Java-Themen 6
Kr0e Differenzen von Bildern berechnen - Remote control Allgemeine Java-Themen 2
D md5 berechnen für BufferedImage Allgemeine Java-Themen 5
W Rechnungsbetrag berechnen Allgemeine Java-Themen 2
reibi Checksumme für ein File berechnen Allgemeine Java-Themen 12
M Integral berechnen Allgemeine Java-Themen 5
D Primzahlen berechnen funktioniert nicht Allgemeine Java-Themen 2
S Algorithmus um nächst folgende Primzahl zu berechnen Allgemeine Java-Themen 7
Developer_X Prozentdifferenz berechnen. Allgemeine Java-Themen 13
M Kombinationen über rekursiven Algorithmus berechnen? Allgemeine Java-Themen 10
M Monatliche Zeitspannen berechnen Allgemeine Java-Themen 3
Ark Arkussinus effizient berechnen Allgemeine Java-Themen 12
Iron Monkey Potenzzahlen mit shiftLeft berechnen? Allgemeine Java-Themen 13
N Rechenzeit berechnen? Allgemeine Java-Themen 3
H Schrifthöhe berechnen / Swing Allgemeine Java-Themen 5
T ungerade zahlen berechnen Allgemeine Java-Themen 3
G ganzzahlige Potenz schnell berechnen Allgemeine Java-Themen 4
M Lautstärke von Audiosignal live berechnen Allgemeine Java-Themen 7
S CRC wert berechnen ergibt 0 ? Allgemeine Java-Themen 9
data89 Die Größe eines Strings in Byte berechnen? Allgemeine Java-Themen 12
T Arbeitsstunden berechnen Allgemeine Java-Themen 8
M Date Range auswerten und die Monate berechnen Allgemeine Java-Themen 2
V Setter zum Berechnen nutzen? Allgemeine Java-Themen 5
G Richtung berechnen anhand Koordinaten Allgemeine Java-Themen 3
P Dauer (Tage, Stunden, Minuten, Sekunden) berechnen Allgemeine Java-Themen 5
D Mittelwert einer Menge von Doubles berechnen Allgemeine Java-Themen 3
P Winkel berechnen. Allgemeine Java-Themen 3
0 Alle Teiler einer Zahl performant berechnen? Allgemeine Java-Themen 9
B Was würdet ihr dafür berechnen? Allgemeine Java-Themen 7
T MessageDigest von einem char[] berechnen Allgemeine Java-Themen 7
S den zweit niedrigsten wert in einem array berechnen Allgemeine Java-Themen 2
E CRC 8 Berechnen Allgemeine Java-Themen 1
M Math-String-Formel berechnen lassen Allgemeine Java-Themen 4
B Ellipsen Kreisbahnen berechnen! Allgemeine Java-Themen 11
M Alle möglichen Kombinationen von mehreren Objekten berechnen Allgemeine Java-Themen 6
clemente lanman und nt password berechnen Allgemeine Java-Themen 7
J an und bn berechnen Allgemeine Java-Themen 5
F Datum mit anzahl tagen berechnen Allgemeine Java-Themen 3
B Differenz in Monaten berechnen --- DateDiff()? Allgemeine Java-Themen 12
B Distance berechnen! Allgemeine Java-Themen 7
F vergangene Zeit berechnen Allgemeine Java-Themen 6
R Zeitspannen berechnen Allgemeine Java-Themen 7
N 2 hoch 100 berechnen Allgemeine Java-Themen 8
P Punkt berechnen Allgemeine Java-Themen 4
C x-te Wurzel berechnen Allgemeine Java-Themen 2
M Formel in einem String während Laufzeit berechnen. Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben