Stunden ausrechnen

Du hast eine Idee für ein Projekt?
Antworten
cntrx
User
Beiträge: 7
Registriert: Montag 13. April 2015, 17:16

Hallo zusammen,
mein Chef lässt unsere Stunden von seiner Tochter berechnen und naja ich will sagen ihre Toleranz liegt bei +-15h.
Was mir nicht gerade gefällt!

Die Rechnung ist einfach nur, geht bei ihr schon die Stunden in Dezimal-Zahlen umrechnen daneben.

Wie kann ich in Pyton die Differenz zwischen 6:01 Uhr und 14:10 Uhr berechnen?

Grüße Cntrx
Sirius3
User
Beiträge: 18245
Registriert: Sonntag 21. Oktober 2012, 17:20

@cntrx: es gibt das datetime-Modul, das für Datumsberechnungen da ist.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Ganz neben bei: Sowas braucht man in diesem Jahrzehnt nicht mehr Programmieren und schon gar nicht mit Hand rechnen, da kann man LibreOffice / OpenOffice Calc oder auch Excel für verwenden, das wäre eine ganz klassische Aufgabe für diese Programme. :D

Auch wenn natürlich etwas zu programmieren immer gut ist.
cntrx
User
Beiträge: 7
Registriert: Montag 13. April 2015, 17:16

Das mit Excel ist mir klar, nur sehe ich es als schöne Übung an :)
Das Datetime-Modul habich mir schon angesehn. Ich verstehe es leider nicht so recht.
Kann mir jemand ein kurzes beispiel geben bitte?
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Code: Alles auswählen

from datetime import datetime
st = datetime(2015,4,16, 7, 10)
et = datetime(2015,4,16, 12, 05)
dt = et - st

dt.total_seconds()
https://docs.python.org/3/library/datet ... e.datetime
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Habe da vor längerem mal was gebastelt: timecalc.py

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
BlackJack

Code: Alles auswählen

In [33]: from datetime import date as Date, datetime as DateTime, time as Time

In [34]: today = Date.today()

In [35]: a = Time(14, 10)

In [36]: b = Time(6, 1)

In [37]: DateTime.combine(today, a) - DateTime.combine(today, b)
Out[37]: datetime.timedelta(0, 29340)

In [38]: diff = DateTime.combine(today, a) - DateTime.combine(today, b)

In [39]: print diff
8:09:00
martin95
User
Beiträge: 1
Registriert: Mittwoch 30. April 2025, 14:53

Hi Cntrx,

oha, +-15 Stunden Toleranz ist natürlich schon... sportlich 😅 Da ist es auf jeden Fall sinnvoll, das mal selbst gegenzurechnen.

Zur Berechnung der Differenz zwischen zwei Uhrzeiten in Python kannst du das datetime-Modul verwenden. Hier ein einfaches Beispiel:

python
Kopieren
Bearbeiten

Code: Alles auswählen

from datetime import datetime

start = datetime.strptime("06:01", "%H:%M")
ende = datetime.strptime("14:10", "%H:%M")
differenz = ende - start

stunden = differenz.total_seconds() / 3600
print(f"Differenz in Dezimalstunden: {stunden:.2f}")
Das gibt dir dann korrekt z.B. 8.15 aus – also 8 Stunden und 9 Minuten in Dezimalform.

Falls du das nicht jedes Mal per Skript machen willst, gibt’s übrigens auch einfache URL vom Admin entfernt, die sowas direkt umrechnen (z. B. „Arbeitszeit Rechner Dezimal“ googeln). Kann manchmal schneller gehen, je nachdem was dir lieber ist.

Grüße
Antworten