Feiertage berechnen

Status
Nicht offen für weitere Antworten.

DP

Top Contributor
hi. gibt es irgendwelche fertigen klassen, die mir die feiertage in deutschland berechnen können?

danke
 
D

Destiny1985

Gast
Ich habe nen programm geschrieben das dir von jedem Jahr den Ostersonntag berechnet...aber ich glaub das kannste nicht brauchen oder ^^
 
B

bygones

Gast
DP hat gesagt.:
hi. gibt es irgendwelche fertigen klassen, die mir die feiertage in deutschland berechnen können?
also von Sun definitiv nicht - von anderen habe ich noch nichts gehört
 
D

Destiny1985

Gast
also dann hier der code für ostersonntag:

Code:
import java.io.*;

public class Ostersonntag
{
  public static void main (String[] args) throws IOException
  {
    BufferedReader stdin =
      new BufferedReader ( new InputStreamReader ( System.in ) );

    System.out.print("Bitte Jahr eingeben: ");
    String inData = stdin.readLine();
    int jahr = Integer.parseInt ( inData );
    
    int a = jahr % 19;
    int b = jahr % 4;
    int c = jahr % 7;
    int monat = 0;
    
    int m = (8 * (jahr / 100) + 13) / 25 - 2;
    int s = jahr / 100 - jahr / 400 - 2;
    m = (15 + s - m) % 30;
    int n = (6 + s) % 7;
    
    int d = (m + 19 * a) % 30;
    
    if ( d == 29 )
      d = 28;
    else if (d == 28 && a >= 11)
      d = 27;
      
    int e = (2 * b + 4 * c + 6 * d + n) % 7;
    
    int tag = 21 + d + e + 1;
    
    if (tag > 31)
    {
      tag = tag % 31;
      monat = 4;
    }
    if (tag <= 31)
      monat = 3;

    System.out.print("\nIm Jahr " + jahr + " ist der Ostersonntag am " + tag);
    System.out.println("." + monat + ".");
  }
}
 

Sky

Top Contributor
Sag mal, wie funktioniert der Algo. bzw. wo ist er her... habe keine Lust mich durch die ganzen a,b,c,d,e,n usw. durchzuarbeiten... sprechende Variablennamen hätten mir vielleicht schon geholfen :)
 
D

Destiny1985

Gast
Frag mich net wie der geht ;)

Hab den...ja wo hab ich den her...damals hätt ich ihn dir erklären können mittlerweile muss ich da selber erstmal ganz neu durchsteigen =(
 

DP

Top Contributor
hier: :)

Ostern wird nach einer christlichen Tradition am ersten Sonntag nach dem ersten Vollmond des Frühjahrsanfangs auf der nördlichen Halbkugel gefeiert. Die Bestimmung des kalendarischen Datums nutzt die zyklische Natur der Erd- und Mondbewegung aus (76 Jahre = 940 Mond-Monate = 27759 Tage, Kallippischer Zyklus, benannt nach Kallippos aus Kyzikos, um 330 v. Chr.). Sie nimmt dagegen keine Rücksicht auf aktuelle astronomische Beobachtungen von Vollmond und Tag-und-Nacht-Gleichen. Zur besseren Anpassung an die tatsächlichen Umlaufzeiten von Mond und Erde werden seit der Einführung des Gregorianischen Kalenders an den Jahrhundertgrenzen gewisse Korrekturen am Kallippischen Zyklus angebracht. Carl Friedrich Gauß (1777 - 1855) hat aus den langen und schwer verständlichen Texten von Christophorus Clavius eine praktische Rechenvorschrift abgeleitet. Diese wird hier in einer von Dr. Heiner Lichtenberg, Bonn, modifizierten Form angegeben (H. Lichtenberg, Zur Interpretation der Gaußschen Osterformel und ihrer Ausnahmeregeln, Historia Mathematica 24, 441 - 444 (1997)). In dieser modernen Form lässt sie sich nämlich leicht in ein Computerprogramm übersetzen, um das Osterdatum für jedes Jahr zu errechnen. Das Ergebnis ist für 1980 bis 2031 in der Osterfesttabelle aufgeführt.

In den nachfolgenden Gleichungen bezeichnen INT (a/b) den ganzzahligen Teil des Quotienten zweier Zahlen a und b und MOD (a, b) den nicht-negativen Rest, den a beim Teilen durch b lässt. Zu berechnen ist im einzelnen für die Jahreszahl X:

(1) K = INT (X/100);

(2) M = 15 + INT ((3K+3)/4) - INT ((8K+13)/25);

(3) S = 2 - INT ((3K+3)/4);

(4) A = MOD (X, 19);

(5) D = MOD (19A+M, 30);

(6) R = INT (D/29) + (INT (D/28) - INT (D/ 29)) · INT (A/11);

(7) OG = 21 + D - R;

(8) SZ = 7 - MOD (X+INT (X/4)+S, 7);

(9) OE = 7 - MOD (OG-SZ, 7);

OG ist das Märzdatum des Ostervollmonds. Dies entspricht dem 14. Tag des ersten Monats im Mondkalender, genannt Nisanu. SZ ist das Datum des ersten Sonntags im März.

OS = OG + OE ist das Datum des Ostersonntags, als Datum im Monat März dargestellt. (Der 32. März entspricht also dem 1. April, usw.)

Liegt der Ostertermin (OS) erst einmal fest, so berechnen sich daraus weitere besondere Kalenderdaten, und zwar

OS - 46: Aschermittwoch,

OS + 39: Christi Himmelfahrt,

OS + 49: Pfingstsonntag,

OS+ 60: Fronleichnam.

Quelle: http://www.ptb.de/de/org/4/44/441/oste.htm
 

DP

Top Contributor
so kinners, hier mal ne methode die prüft ob ein gragoriancalendar ein feiertag ist:

Code:
  private boolean isFeiertag()
  {
    int jahr = super.get(Calendar.YEAR);
  
    int a = jahr % 19;
    int b = jahr % 4;
    int c = jahr % 7;
    int monat = 0;
  
    int m = (8 * (jahr / 100) + 13) / 25 - 2;
    int s = jahr / 100 - jahr / 400 - 2;
    m = (15 + s - m) % 30;
    int n = (6 + s) % 7;
  
    int d = (m + 19 * a) % 30;
  
    if (d == 29)
      d = 28;
    else if (d == 28 && a >= 11)
      d = 27;
  
    int e = (2 * b + 4 * c + 6 * d + n) % 7;
  
    int tag = 21 + d + e + 1;
  
    if (tag > 31)
    {
      tag = tag % 31;
      monat = 3;
    }
    if (tag <= 31)
      monat = 2;
  
    GregorianCalendar gc_ostersonntag = new GregorianCalendar(jahr, monat, tag);
    GregorianCalendar gc_ostermontag = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) + 1));
    GregorianCalendar gc_karfreitag = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) - 2));    
    GregorianCalendar gc_rosenmontag = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) - 48));
    GregorianCalendar gc_christihimmelfahrt = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) + 39));
    GregorianCalendar gc_pfinstsonntag = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) + 49));
    GregorianCalendar gc_pfinstmontag = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) + 50));
    GregorianCalendar gc_frohnleichnahm = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) + 60));
    GregorianCalendar gc_wiedervereinigung = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 9, 1);
    GregorianCalendar gc_weihnachten_1 = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 11, 24);
    GregorianCalendar gc_weihnachten_2 = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 11, 25);
    GregorianCalendar gc_weihnachten_3 = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 11, 26);
    GregorianCalendar gc_silvester = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 11, 31);
    GregorianCalendar gc_neujahr = new GregorianCalendar(gc_silvester.get(Calendar.YEAR), 0, 1);

    if(gc_ostermontag.equals(this) || gc_karfreitag.equals(this) || gc_rosenmontag.equals(this) || gc_christihimmelfahrt.equals(this) || gc_pfinstmontag.equals(this) || gc_frohnleichnahm.equals(this) || gc_weihnachten_1.equals(this) || gc_weihnachten_2.equals(this) || gc_weihnachten_3.equals(this) || gc_silvester.equals(this) || gc_neujahr.equals(this) || gc_wiedervereinigung.equals(this))
    {
      return true;
    }
    else
    {
      return false;
    }
    
    
  }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J bewegliche Feiertage berechnen Allgemeine Java-Themen 7
X Suche Java Klasse die Feiertage berechnen kann Allgemeine Java-Themen 2
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