Business Datum/Urlaub Handhabung
Habe ich geschrieben diese Frage ist für C# aber ich kann arbeiten in Ruby statt. So Frage ich die gleiche Frage über Ruby:
Ich bin auf der Suche nach einer Ruby-Klasse/Bibliothek/Modul arbeitet ähnlich wie das Perl-Modul Date::Manip
so weit wie business/Ferien-Termine. Mit diesem Modul in Perl, ich kann es passieren, einen Termin und finden Sie heraus, ob es ein Werktag (also Mo-FR) oder für einen Urlaub. Feiertage sind sehr einfach zu definieren, in einer config-Datei (siehe Date::Manip::Urlaub
). Sie können einen "festen" Termin, das gilt für jedes Jahr, wie:
12/25 = Christmas
oder "dynamische" Daten für jedes Jahr, wie:
last Monday in May = Memorial Day
oder 'Feste' Termine für ein bestimmtes Jahr wie:
5/22/2010 = Bob's Wedding
Können Sie auch in einem Datums-und wieder den nächsten/vorherigen Werktag (das ist jeden Tag das ist kein Wochenende und kein Urlaub).
Kennt jemand so etwas in der Ruby-Welt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Feiertagen-gem.
http://rubygems.org/gems/holidays
Einige nationale (und regionale) Feiertage sind bereits vordefiniert, Sie können definieren, Ihren Urlaub nach Ihren Definitionen.
Den
business_time
gem sollten tun, was Sie brauchen.Beispiel am unteren Rand der README doc ist ein gutes Beispiel ab:
Haben Sie wahrscheinlich gehen zu müssen, die
chronische
gem zu helfen, Sie bauen den Urlaub dates aus deiner config-Datei. Aber YMMV, weil Ihr Beispiel letzten Montag im Mai funktioniert nicht inchronic
. Hackaround ist etwas wie das hier tun:Und Blick auf die
kitzeln
gem die arbeiten auf der Oberseite derchronic
für ein Weg, um wiederkehrende Ereignisse./I3az/
Könnten Sie werfen Sie einen Blick auf meine Workpattern gem. Es können Sie angeben, Arbeits-und Ruhezeiten. Es zielte auf die Herstellung einer "Kalender" - wie ist bei der Planung von tools wie Microsoft Project und Primavera P6, so können Sie angeben, bis auf die minute.
Hier ist ein einfaches Beispiel:
Erstellen Sie eine neue Workpattern
mywp=Workpattern.new('My Workpattern',2011,10)
Dies ist für 10 Jahre von 2011, aber man kann es länger oder kürzer.Sagen es Sie wollen den Wochenenden ruhen, und dass Sie auch wollen, um Ruhe während der Woche, so dass Sie arbeiten zwischen 9 und 12 morgens und 1 und 6 am Nachmittag.
Nun einfach berechnen mit Minuten
1920 ist 4 Tage * 8 Stunden /Tag * 60 Minuten und Stunden.
Schrieb ich den Edelstein zu lernen Ruby - nur an der Oberfläche gekratzt.
Check-out die
biz
gem.Hier ist eine Beispiel-Konfiguration:
Wenn du das optionale core-Erweiterungen, es ist so einfach, wie die folgenden, um herauszufinden, ob ein Datum ein Arbeitstag ist.: