Zwei damit zusammenhängende Probleme: (1) Alle Daten, mit denen ich arbeite, sind an Wochentage gebunden. An verschiedenen Stellen muss ich wissen, was der nächste Wochentag ist. Ich habe etwas wie den folgenden Code geschrieben, um diese Entscheidung zu treffen, aber ich bin mir sicher, dass es einen besseren Weg gibt. Jemand? (2) Im Idealfall muss ich nicht nur den nächsten Werktag, sondern den nächsten US-Geschäftstag kennen - also den nächsten Werktag, der kein US-Markt ist. Jede Hilfe dazu wäre auch großartig.
%Vor%Diese Frage ist häufig und es gibt verschiedene Ebenen von Lösungen:
Am einfachsten: Verwenden Sie so etwas wie Ihren Ansatz, den Wochentag zu überprüfen. Ein gängiges Idom ist etwas wie
%Vor%Sobald Sie Urlaub wollen, können Sie Ihre eigene Datetime "TradingDateChecker" rollen, die nach den "vorhersehbaren" Feiertagen wie 1. Januar, 4. Juli, 25. Dezember am Freitag vor oder nach dem Montag suchen muss, wenn sie auf ein Wochenende fallen, letzten Montag im Mai, ersten Montag im September usw.
Ich werde diesen Code hier gar nicht posten, weil er für Handelsferien immer noch nicht ausreicht.
Die Aktien- und Terminmärkte haben unterschiedliche Feiertage. Wenn Sie NYSE Ferien wollen (eine allgemeine Anfrage) siehe unten. Sie können nicht wirklich herumkommen und Ihren eigenen Kalender behalten, da die Schlusstermine in der Regel erst in ein paar Jahren angekündigt werden.
%Vor%Ein anderer Weg ohne Wenns wäre:
%Vor%das würde auch funktionieren, wenn Sie es an einem Samstag oder Sonntag machen.
Ich habe das Paket holidays verwendet.
%Vor%Hier ist die Funktion, die ich gemacht habe, um den nächsten Arbeitstag nach dem heutigen Tag zu bestimmen.
%Vor%Es wird das morgige Datum zurückgeben, wenn morgen kein Wochenende und kein Feiertag ist. Sonst wird es den nächsten Tag finden, der keines dieser Dinge ist. Beispiel läuft am Mittwoch, 15. März 2017:
%Vor%* Vorsicht, falls Präsident Camacho jeden Tag einen Feiertag erklärt, könnte dies eine Endlosschleife sein. / p>