Hallo Community,
ich hoffe Ihr könnt mich ein bisschen auf den richtigen Wege bringen für mein Projekt.
Ich möchte gerne Zeiträume mit Python berechnen können.
Hier ein Beispiel:
Dienstbeginn: 01.01.2015 - 08:00 Uhr
Dienstende: 01.01.2015 - 16:00 Uhr
Nun muss der komplette Tag, also mit 24 Stunden betrachtet werden. Ziel ist es die Fehlzeiten/ Abwesenheiten des Mitarbeiters zu ermitteln.
Hier die Abwesenheiten/ Fehlzeiten am obigen Beispiel:
Abwesenheit_1_Beginn : 01.01.2015 00:00 Uhr
Abwesenheit_1_Ende : 01.01.2015 08:00 Uhr
Abwesenheit_2_Beginn : 01.01.2015 16:00 Uhr
Abwesenheit_2_Ende : 01.01.2015 24:00 Uhr
Im Zweiten Schritt könnte ein zweite Anwesenheit mit in die Rechnung fallen. Beispielsweise ein weiterer Dienst von 18:00 Uhr - 23:00 Uhr.
Daraus Resultiert natürlich eine kürzung der Abwesenheit 2 und es wird eine Abwesenheit 3 von 23:00 Uhr bis 24:00 Uhr erzeugt.
Ich hoffe ich habe alles verständlich formuliert.
Habt Ihr ein paar Tipps für mich wie man solche Rechnungen angeht? Gibt es eventuell ein paar nette Libs?
Auch auf Vorschläge für einen eigenen Algorithmus würde ich mich freuen.
Vielen Dank im Voraus
JR
Zeiträume/ Zeiperioden mit Python berechnen
Hallo,
wie mein Vorschreiber erwähnt hat, bietet sich hier das datetime-Modul an. Mit datetime-Objekten lassen sich ganz gut Zeitdifferenzen berechnen. Auch kann man damit sehr gut größer/kleiner Vergleiche von zwei Zeitpunkten anstellen.
Ich verwende das Modul bei uns in der Firma, wenn ich die BDE-Zeiten (Betriebsdatenerfassung) mit der Zeitwirtschaft auf Vollständigkeit prüfe. Das Modul erspart einem einiges an selbstgeschriebenen Code und Programmierzeit.
mfg
wie mein Vorschreiber erwähnt hat, bietet sich hier das datetime-Modul an. Mit datetime-Objekten lassen sich ganz gut Zeitdifferenzen berechnen. Auch kann man damit sehr gut größer/kleiner Vergleiche von zwei Zeitpunkten anstellen.
Ich verwende das Modul bei uns in der Firma, wenn ich die BDE-Zeiten (Betriebsdatenerfassung) mit der Zeitwirtschaft auf Vollständigkeit prüfe. Das Modul erspart einem einiges an selbstgeschriebenen Code und Programmierzeit.
mfg
Hallo,
ich hatte da mal was gebastelt, vielleicht findest Du ja die eine oder andere Inspiration...
mutetella
ich hatte da mal was gebastelt, vielleicht findest Du ja die eine oder andere Inspiration...
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
@mutetella: solche Kunstrukte
lassen sich einfach durch die max-Funktion
ersetzen.
Code: Alles auswählen
new_begin = other.begin if other.begin >= begin else begin
Code: Alles auswählen
new_begin = max(other.begin, begin)
@Sirius3
Danke, sehr schön! Hab's geändert!
mutetella
Danke, sehr schön! Hab's geändert!
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )