Jaki jest najprostszy sposób ustalenia, czy data jest świętem bankowym w USA w Pythonie? Wydaje się, że różne kalendarze i usługi sieciowe sprzedaż wakacje dla różnych krajów, ale nie znalazłem nic konkretnego do banków w USAWykrywanie Święta Stanów Zjednoczonych
Odpowiedz
Niektóre uwagi ogólne:
Nie sądzę, że @ AST4 naprawdę oznacza „n-ty dzień n-tego tygodnia algorytm n-tego miesiąca ". Pojęcie "n-ty tydzień w n-tym miesiącu" to przyciąganie uwagi (jak "kalendarz ISO"). Nigdy nie widziałem urlopu zdefiniowanego jako "n-ty tydzień". Martin Luther King Day jest przykładem „n-ty dzień tygodnia w miesiącu” typu wakacje:
MONDAY, ...., SATURDAY = range(7)
JAN, ....., DEC = range(1, 12)
Holiday("Martin L King's Birthday", type='floating',
ordinal=3, weekday=MON, month=JAN)
Holiday("Memorial Day", type='floating',
ordinal=-1, weekday=MON, month=MAY)
USA nie ma świąt wielkanocnych związanych. Definicja ta nie jest trudna:
Holiday("Good Friday", type='moveable',
base='gregorian_easter', delta_days=-2)
Holiday("Easter Monday", etc, delta_days=1)
# Some states in Australia used to have Easter Tuesday (no kidding)
Holiday("Easter Tuesday", etc, delta_days=2)
„bazy” pomysł może być stosowany w celu zaspokojenia księżycowego nowego roku, w rzeczywistości żadnych wakacji, który jest odsunięty od daty bazowej, która wymaga specjalnej procedury do jego obliczenia.
Tzw „statyczne” święta nie są ustalone, kiedy „stałe” data przypada w sobotę lub niedzielę, a może nawet zanikać (nie ma alternatywy dzień wolny od pracy):
# Americans will get a day off on Friday 31 Dec 2010
# because 1 Jan 2011 is a Saturday.
Holiday("New Year's Day", type='fixed',
day=1, month=JAN, sat_adj=-1, sun_adj=????)
# Australia observes ANZAC Day on the day, with no day off
# if the fixed date falls on a weekend.
Holiday("ANZAC Day", type='fixed', day=25, month=APR, sat_adj=0, sun_adj=0)
# Two consecutive "fixed" holidays is OK; three would need re-thinking.
# Australia again:
Holiday("Christmas Day", type='fixed', day=25, month=DEC, sat_adj=2, sun_adj=1)
Holiday("Boxing Day", type='fixed', day=26, month=DEC, sat_adj=2, sun_adj=2)
tam jestem pewny są sposoby określania świąt, które nie są zaspokajane przez powyższe zasady ... wszelkie takie wiadomości są mile widziane.
Co czy ta klasa wakacyjna jest używana? –
@Gringo Suave: To po prostu zapis, który pokazuje większość dziwnych sposobów definiowania świąt. –
Upewnij date = jeden z nich:
Dotyczą one ambasady USA, ale mogą się różnić w zależności od banku: na przykład mój bank jest otwarty w dniu Columbus Day, który nie jest popularnym świętem w Kalifornii. –
@Alex Martelli: Twój bank może być otwarty, ale sieć zasilająca jest zamknięta, więc sieć ACH nie wykonuje iteracji w Dniu Kolumba. Jest traktowany jak sobota. –
I Ostatnio pracowałem nad problemem podobnym do tego. Statyczne święta są raczej trywialne do wygenerowania (np. Sylwester - 31 grudnia (cykl przez lata)). Istnieją dobrze zdefiniowane algorytmy, które generują pływające święta. Zasadniczo masz datę początkową (np. 1 stycznia 1900 r.) I pracujesz stamtąd. W efekcie wprowadziłem n-ty dzień n-tego tygodnia algorytmu n-tego miesiąca (np. Dzień MLK = trzeci poniedziałek stycznia). Wielkanoc jest trochę inna, ale znowu istnieją dobrze zdefiniowane algorytmy do tego już (Wielki Piątek jest trywialny po styczniu).
Jest to dość przyzwoity książka na ten temat tam, może chcesz sprawdzić: Calendrical Calculations
Myślę, że masz na myśli powiedzieć: "Wielki Piątek jest trywialny po Wielkanocy", prawda? W związku z tym ani Wielki Piątek, ani Wielkanocny Poniedziałek nie są zwykle świętami w USA, a Wielkanoc jest oczywiście zawsze w niedzielę, a zatem nigdy nie jest dniem roboczym. –
Tak, przepraszam, pisałem zbyt szybko. – ast4
Kilka wyjaśnień (dzięki John Machin za wskazanie): Do n-tego dnia rozumiem: poniedziałek = 1, wtorek = 2, środa = 3, czwartek = 4, piątek = 5, sobota = 6, niedziela = 7 – ast4
Pakiet Pandas zapewnia wygodne rozwiązanie dla tego:
from pandas.tseries.holiday import USFederalHolidayCalendar
cal = USFederalHolidayCalendar()
holidays = cal.holidays(start='2014-01-01', end='2014-12-31').to_pydatetime()
if datetime.datetime(2014,01,01) in holidays:
print True
- 1. maszyny stanów i wiele stanów
- 2. Jak wyrzeźbić połowę Święta Dziękczynienia w Turcji?
- 3. Jak zdobyć święta od Bloomberg API
- 4. Nazwane zakresy stanów w state_machine
- 5. Wykrywanie możliwości hover
- 6. Odtwarzanie rozwiniętych/zwiniętych stanów węzłów drzewa
- 7. Wykrywanie przeglądarki a wykrywanie funkcji
- 8. Kraj, lista stanów dla SQL Server
- 9. Ustawianie różnych czcionek dla różnych stanów UIButton
- 10. Generowanie dokumentacji dla stanów stosów soli
- 11. Obsługa różnych stanów połączeń przed otwarciem SqlConnection
- 12. Usuń element z tablicy stanów w odpowiedzi
- 13. Funkcjonalne reaktywne F # - Przechowywanie stanów w grach
- 14. Moneta Scala State - łącząca różne typy stanów
- 15. TriState Checkbox - jak zmienić kolejność stanów
- 16. Jak pisać maszyny stanów za pomocą C#?
- 17. Jak zdobyć listę stanów routera UI Angularjs?
- 18. Różne tła dla różnych stanów UI-router
- 19. Więcej podejść .net dla dynamicznego automatu stanów
- 20. R: tworzenie mapy wybranych kanadyjskich prowincji i stanów USA
- 21. Wykrywanie linii | Wykrywanie kątów za pomocą Java
- 22. Wykrywanie przeciągnij i upuść + wykrywanie nie działa
- 23. Wykrywanie CGAssociateMouseAndMouseCursorPosition
- 24. Czy mockito ma odpowiednik idiomu dla stanów jMock?
- 25. Angular ui router wiele nazwanych widoków dla wszystkich stanów
- 26. różne obrazy dla włączania i wyłączania stanów przycisku w WPF
- 27. Dane nakładki iOS (MKPolygon) dla wszystkich stanów w USA?
- 28. Uzyskiwanie stanów shift/ctrl/alt ze zdarzenia myszy?
- 29. Angular.js konfigurowanie stanów potomnych routera z wielu modułów
- 30. Obsługa kompilatorów dla podzielników stanów w kontenerach STL
@krosenvold: To jest punkt, te święta zazwyczaj rozciągają się na weekend i ludzie nazywają te święta. Wakacje dłuższe niż tydzień należą do kategorii urlopów. – mjv
Z jak dużym wyprzedzeniem musisz je znać? –
@krosenvold: To cholerny wstyd, ale nie mogę temu zaprzeczyć. –