So berechnen Sie Urlaub für die USA

8

Ich muss wissen, wie man USA Ferien berechnet. Ich brauche eine Lösung, die für jedes Jahr funktioniert. Ich wollte die Daten nicht einfach in einer Datenbank speichern, die gepflegt werden müsste.

Für Feiertage am Wochenende muss es der Politik der US-Regierung folgen, sich auf einen Wochentag einzustellen. Wenn es an einem Samstag fällt, wird es auf Freitag eingestellt. Wenn es an einem Sonntag fällt, muss es auf Montag eingestellt werden. Ich verstehe viele (die meisten?) Banken in den USA tun es auf die gleiche Weise.

Wie berechne ich eine Liste von USA-Ferien?

%Vor%

www.archives.gov

www.usa.gov

​​www.opm.gov

    
D_Bester 20.08.2013, 03:21
quelle

6 Antworten

11

Dies ist eine Möglichkeit, es zu tun. Eine Schwäche dieser Methode ist, dass, da die Regeln fest codiert sind, ich den Code in dem seltenen Fall ändern müsste, dass der Kongress die Regeln geändert hat. Für meine Inhouse-Software ist das kein Problem, aber für andere möglicherweise.

Ich berechne auch nicht Ostern, weil das kein US-Feiertag ist. Siehe Nature (1876) -Algorithmus zur Berechnung des Osterdatums

%Vor%     
D_Bester 20.08.2013, 03:21
quelle
8

Konvertiert zu C # als ein Konsolenprogramm ... Ich brauchte die Daten schnell in einer Textdatei:

%Vor%     
Redbaran 13.09.2013 15:46
quelle
2

Jay Muntz auf CodeProject hat eine ausgezeichnete Implementierung von Ferien mit einer XML-Datei, um die Regeln zu speichern. Dieser Code passt sich jedoch nicht für Wochenenden an.

Auch seine Version des Steuertages (15. April) korrigiert den Emanzipationstag in Washington DC nicht, obwohl dies für diese Frage irrelevant sein könnte.

Dynamischer Feiertags-Datumsrechner von Jay Muntz, 5. Januar 2006

    
D_Bester 20.08.2013 03:33
quelle
2

Hier ist ein Code, den ich in C # ausgepeitscht habe. Jeder Feiertag wird als eine Instanz von Holiday dargestellt. Um das Datum der Einhaltung durch die Bundesregierung zu erhalten, rufen Sie einfach die FederalObservance-Methode des Objekts auf. Beachten Sie jedoch, dass nur einer der Feiertage ein tatsächlicher Feiertag ist; Ich habe gerade zwei Feiertage als Beispiele erstellt.

%Vor%     
moonman239 20.11.2015 00:07
quelle
0

Nager.Date unterstützt den Feiertag für die USA Der vollständige Quellcode ist auf github verfügbar unterstützt.

Nuget

%Vor%

Beispiel:

Erhalten Sie alle publicHolidays eines Jahres

%Vor%

Überprüfen Sie, ob ein Datum ein Feiertag ist

%Vor%     
live2 14.01.2017 09:14
quelle
0

Hier ist eine C # -Lösung, die Lync verwendet. Ich habe keine anderen Antworten mit diesem Ansatz gesehen. Ich stelle alle Tage des Monats in eine Liste vom Typ DateTime und benutze dann Lync, um genau das auszuwählen, was ich möchte. Ja, das braucht mehr Zeit / Speicher, aber wenn das nicht die kritischste Priorität ist, schau, wie einfach es liest ...

%Vor%     
TxRegex 13.02.2018 15:49
quelle

Tags und Links