[Gelöst] Zeiten im Format hh:mm addieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Huo
Beiträge: 615
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

[Gelöst] Zeiten im Format hh:mm addieren

Beitrag von Huo » 30.10.2023 11:48:10

Als zeilenweise Ausgabe eines eigenen Skripts erhalte ich Zeitangaben in der Form hh:mm. Diese möchte ich gerne summieren.

Aus

Code: Alles auswählen

02:52
00:18
01:31
soll beispielsweise die Summe 04:41 berechnet werden.

Eine umständliche Umrechnung der Zeitangaben in Minuten (01:31 -> 91 ...), deren Addition sowie die anschließende Rückkonvertierung der Summe in das hh:mm-Format bekäme ich vermutlich irgendwie hin. Aber vielleicht kennt jemand eine einfachere Lösung? Mit dem date-Befehl habe ich es ohne Erfolg versucht.

Hintergrund: Ich möchte aus der Protokolldatei /var/log/wtmp meine jeweils gestrigen Uptime-Zeiten (1) ermitteln und (2) addieren. Teil (1) habe ich mit folgendem Befehl gelöst:

Code: Alles auswählen

$ last -s yesterday -t today | awk '/reboot/ { print $11 }' | tr -d \(\)
01:26
00:33
02:10
[...]
Zuletzt geändert von Huo am 30.10.2023 13:19:57, insgesamt 1-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 8819
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Zeiten im Format hh:mm addieren

Beitrag von Meillo » 30.10.2023 12:08:56

So umstaendlich finde ich das gar nicht:

Code: Alles auswählen

awk -F: '{sum+= $1*60 + $2} END {printf("%02d:%02d\n", sum/60, sum%60)}'

Generell hat Unix nur recht wenige Tools fuer Datums- und Zeitberechnungen.
Use ed once in a while!

Benutzeravatar
MSfree
Beiträge: 10808
Registriert: 25.09.2007 19:59:30

Re: Zeiten im Format hh:mm addieren

Beitrag von MSfree » 30.10.2023 12:23:52

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 12:08:56
Generell hat Unix nur recht wenige Tools fuer Datums- und Zeitberechnungen.
Es braucht ja auch nicht viele Werkzeuge. Ich würde die Zeit in Epoczeit (Sekunden seit 1.1.1970 0.00h) umrechnen und dann addieren. Die Summe kann man dann wieder zurück konvertieren. Für beides gibt es sogar Shellfunktionen bzw. das Kommandazeilenwerkzeug date.

Mit awk kann man hh:mm in die Teile hh und mm zerlegen, die man getrennt aufsummieren kann. Achtung, die Minutensumme kann größer als 59 werden.

Benutzeravatar
Meillo
Moderator
Beiträge: 8819
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Zeiten im Format hh:mm addieren

Beitrag von Meillo » 30.10.2023 13:01:04

OT:
MSfree hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 12:23:52
Meillo hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 12:08:56
Generell hat Unix nur recht wenige Tools fuer Datums- und Zeitberechnungen.
Es braucht ja auch nicht viele Werkzeuge. Ich würde die Zeit in Epoczeit (Sekunden seit 1.1.1970 0.00h) umrechnen und dann addieren. Die Summe kann man dann wieder zurück konvertieren. Für beides gibt es sogar Shellfunktionen bzw. das Kommandazeilenwerkzeug date.
Das muss man aber immer von Hand machen. Es gibt beispielsweise keine Enduser-Tools, um Zeitdifferenzen zu berechnen und weitere Grundrechenarten damit durchzufuehren. Ich meinem Alltag wuerde ich das immer wieder mal gerne kurz in der Shell machen. Z.B.: Es ist 20:43, der Film dauert 1:25:00, um wieviel Uhr ist er fertig? Oder: Wenn ich pro Kilometer 5:14 Minuten brauche, wie lange brauche ich dann fuer einen 7,5 Kilometer-Lauf? Ein Zeit-Taschenrechner fuer Endandwender, mit dem man diese Fragestellungen berechnen kann, waere IMO ein wertvolles Programm fuer Unix gewesen, aber ausser dem Ansatz ``konvertiere nach Sekunden und rechne von Hand'' gibt es leider diesbezueglich keine Unterstuetzung. Es gibt ja noch nicht mal ein Tool, das eine Anzahl von Sekunden (oder Minuten) in ein lesbares Format (mit Stunden, Tagen, usw.) umwandeln kann. Das muss alles von Hand gemacht werden.

Zudem sind die Datumsformate in Unix ein einziges Durcheinander. Jede Tool macht es anders. Zeit und Datum ist IMO der schlechteste und stiefmuetterlichste Teil von Unix (abgesehen von der Idee des Timestamps, den ich gut finde, trotz der Limits).
Use ed once in a while!

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Zeiten im Format hh:mm addieren

Beitrag von GregorS » 30.10.2023 13:06:35

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 13:01:04
... Zeit und Datum ist IMO der schlechteste und stiefmuetterlichste Teil von Unix ...
Ja, allerdings. Ich schlage mich diese Tage damit herum, dass ich mir einen Kalender programmiere. Das ist eine echte Strafarbeit. Ein Elends-Gewürge.

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Huo
Beiträge: 615
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Zeiten im Format hh:mm addieren

Beitrag von Huo » 30.10.2023 13:18:37

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 12:08:56
So umstaendlich finde ich das gar nicht:

Code: Alles auswählen

awk -F: '{sum+= $1*60 + $2} END {printf("%02d:%02d\n", sum/60, sum%60)}'
Vielen Dank, funktioniert wie gewünscht! :THX: Mit meinen laien- und lückenhaften awk-Kenntnissen wäre ich nie auf diese elegante Lösung gekommen.
MSfree hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 12:23:52
Es braucht ja auch nicht viele Werkzeuge. Ich würde die Zeit in Epoczeit (Sekunden seit 1.1.1970 0.00h) umrechnen und dann addieren. Die Summe kann man dann wieder zurück konvertieren. Für beides gibt es sogar Shellfunktionen bzw. das Kommandazeilenwerkzeug date.
Ja, date will ich mir bei Gelegenheit nochmal anschauen ... vielleicht klappt's auch damit.

Benutzeravatar
MSfree
Beiträge: 10808
Registriert: 25.09.2007 19:59:30

Re: Zeiten im Format hh:mm addieren

Beitrag von MSfree » 30.10.2023 13:27:11

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 13:01:04
Das muss man aber immer von Hand machen. Es gibt beispielsweise keine Enduser-Tools, um Zeitdifferenzen zu berechnen und weitere Grundrechenarten damit durchzufuehren.
Nunja, die Berechnungen der 4 Grundrechenarten lassen sich mit bc durchführen.
Ein Zeit-Taschenrechner fuer Endandwender, mit dem man diese Fragestellungen berechnen kann, waere IMO ein wertvolles Programm fuer Unix gewesen
Auf wissenschaftlichen Taschenrechnern gab es früher mal [->DMS] und [->DEG], mit denen man hexagesimale Zahlen in dezimale und zurück wendeln konnte. Eigentlich steht DMS ja für Degrees, Minutes, Seconds, funktioniert aber auch mit Stunden, Minuten, Sekundenn. Diese Funktion vermisse ich allerdings auch auf heutigen Taschenrechnern und deren Emulationen auf dem Bildschirm sehr oft.
ausser dem Ansatz ``konvertiere nach Sekunden und rechne von Hand'' gibt es leider diesbezueglich keine Unterstuetzung.
Zumindest das geht aber direkt mit dem date Befehl relativ einfach:
https://unix.stackexchange.com/question ... on-the-cli
und zurück:
https://stackoverflow.com/questions/109 ... ch-in-bash
Es gibt ja noch nicht mal ein Tool, das eine Anzahl von Sekunden (oder Minuten) in ein lesbares Format (mit Stunden, Tagen, usw.) umwandeln kann. Das muss alles von Hand gemacht werden.
date
Zudem sind die Datumsformate in Unix ein einziges Durcheinander.
Das sehe ich anders. Solange man sich an RFC-3339 hält, ist das alles sehr schön einheitlich. Lustig wird es erst, wenn man Zeiten in der jeweillgen Landessprache darstellen will/muß.

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Zeiten im Format hh:mm addieren

Beitrag von GregorS » 30.10.2023 13:42:40

MSfree hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 13:27:11
Es gibt ja noch nicht mal ein Tool, das eine Anzahl von Sekunden (oder Minuten) in ein lesbares Format (mit Stunden, Tagen, usw.) umwandeln kann. Das muss alles von Hand gemacht werden.
date
Wie rechnet man mit date eine Angabe von 123456 Sekunden in Tage/Stunden um?

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
MSfree
Beiträge: 10808
Registriert: 25.09.2007 19:59:30

Re: Zeiten im Format hh:mm addieren

Beitrag von MSfree » 30.10.2023 13:47:36

GregorS hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 13:42:40
Wie rechnet man mit date eine Angabe von 123456 Sekunden in Tage/Stunden um?

Code: Alles auswählen

date -d @123456 

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Zeiten im Format hh:mm addieren

Beitrag von GregorS » 30.10.2023 13:51:02

MSfree hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 13:47:36
GregorS hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 13:42:40
Wie rechnet man mit date eine Angabe von 123456 Sekunden in Tage/Stunden um?

Code: Alles auswählen

date -d @123456 
Ups?! War das schon immer mit date möglich?

Gruß

Gregor

PS:

Code: Alles auswählen

gszaktilla@lili:~$ date -d @123456
Fr 2. Jan 11:17:36 CET 1970
gszaktilla@lili:~$ 
Demnach rechnet das nicht in eine Dauer um, sondern in ein Datum. Das ist etwas Anderes.
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
MSfree
Beiträge: 10808
Registriert: 25.09.2007 19:59:30

Re: Zeiten im Format hh:mm addieren

Beitrag von MSfree » 30.10.2023 14:23:11

GregorS hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 13:51:02
Ups?! War das schon immer mit date möglich?
Ja.
Demnach rechnet das nicht in eine Dauer um, sondern in ein Datum. Das ist etwas Anderes.
Und was ist bitte der 2. Januar 1970 11:17:36? Richtig, es sind 2 Tage, 11 Stunden, 17 Minuten und 36 Sekunden. Lästig wird es erst, wenn deine Dauer mehr als 31 Tage beträgt, weil man dann in den Februar fällt.

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Zeiten im Format hh:mm addieren

Beitrag von GregorS » 30.10.2023 14:25:35

MSfree hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 14:23:11
GregorS hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 13:51:02
Ups?! War das schon immer mit date möglich?
Ja.
Demnach rechnet das nicht in eine Dauer um, sondern in ein Datum. Das ist etwas Anderes.
Und was ist bitte der 2. Januar 1970 11:17:36? Richtig, es sind 2 Tage, 11 Stunden, 17 Minuten und 36 Sekunden. Lästig wird es erst, wenn deine Dauer mehr als 31 Tage beträgt, weil man dann in den Februar fällt.
Nein. Der 2. Januar 1970 ist ein Datum, kein Zeitraum (keine Dauer)

Wie willst Du damit denn z.B. rechnen können, wieviel Stunden und Minuten seit gestern Mittag vergangen sind?

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
heisenberg
Beiträge: 3584
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Zeiten im Format hh:mm addieren

Beitrag von heisenberg » 30.10.2023 14:28:30

Und was ist bitte der 2. Januar 1970 11:17:36?
Geht auch schon formatiert - wenn's kürzer als ein Monat ist:

Code: Alles auswählen


$ date -d @123456 +"%d Tag(e) und %H:%M:%S Stunden"

02 Tag(e) und 11:17:36 Stunden

Und das ist immer noch das gleiche Datum (2.1.1970 ...).
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: [Gelöst] Zeiten im Format hh:mm addieren

Beitrag von GregorS » 30.10.2023 14:37:31

@MSfree + Heisenberg:

Ihr versteht scheinbar nicht, worauf ich hinaus will.

Und richtig rechnen tut Ihr auch nicht, denn am 2.1.1970 um 11 Uhr 17 waren nicht 2 Tage und ein paar Zerquetschte seit dem 1.1.70 um 0 Uhr vorbei, sondern nur etwa anderthalb:

Code: Alles auswählen

gszaktilla@lili:~$ echo "scale=2; 123456/3600" | bc
34.29
34 Stunden sind alles Mögliche, aber keine 2,5 Tage.

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
Meillo
Moderator
Beiträge: 8819
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Zeiten im Format hh:mm addieren

Beitrag von Meillo » 30.10.2023 14:40:05

MSfree hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 14:23:11
Und was ist bitte der 2. Januar 1970 11:17:36? Richtig, es sind 2 Tage, 11 Stunden, 17 Minuten und 36 Sekunden.
... und schon haben wir den Fehler: Es ist naemlich nur *ein* Tag, denn der Null-Punkt ist der 1. Januar 1970 00:00:00 und nicht der 0. Januar. ;-)

(Edit: GregorS war etwas schneller.)

Das genau meine ich halt: Das ist alles umstaendlich und Handarbeit. Es geht nur ueber Umwege. Wie schon gesagt wurde: ein Datum ist nicht das was man haben will wenn man sich mit Minutendifferenzen befasst. Natuerlich kann man das alles so irgendwie umsetzen, aber es geht nicht direkt und nicht Enduser-freundlich ... ganz im Gegensatz zu vielen anderen Themen, fuer die Unix tolle Tools bietet.

Was ich noch nicht verstehe, ist dein Kommentar, dass man die Grundrechenarbeiten von Zeiten mit bc durchfuehren koennte. Man kann dort natuerlich die Basis aendern, aber bei der Zeit ist es ja 60, 60, 24 und dann 7 oder ungefaehr 30 oder ca. 365, und die Bruchteile der Sekunden sind wiederum auf Basis 10. Mir ist nicht bekannt, dass bc sowas kann.
Use ed once in a while!

Benutzeravatar
heisenberg
Beiträge: 3584
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: [Gelöst] Zeiten im Format hh:mm addieren

Beitrag von heisenberg » 30.10.2023 14:44:15

GregorS hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 14:37:31
34 Stunden sind alles Mögliche, aber keine 2,5 Tage.
Da hast Du natürlich Recht. Die Darstellung ist immer noch falsch. Also muss man noch selber rechnen und das date taugt nur bei < 1 Tag.

Aber das bisschen Grundrechnen sollte jetzt ja nicht so das Problem sein.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
MSfree
Beiträge: 10808
Registriert: 25.09.2007 19:59:30

Re: Zeiten im Format hh:mm addieren

Beitrag von MSfree » 30.10.2023 15:09:52

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 14:40:05
Was ich noch nicht verstehe, ist dein Kommentar, dass man die Grundrechenarbeiten von Zeiten mit bc durchfuehren koennte.
Wenn du die Zeiten in Timestamps umgerechnet hast, läßt sich mit den Sekunden problemlos rechnen.

Die Rückkonvertierung in Tage, Stunden, Minuten, Sekunden hatte ich mit allerdings auch einfacher vorgestellt. Date macht da immer einen "Fehler" von einem Tag, auch, wenn man %j (Tag der Jahres) verwendet.

Tage = (int) (Sekunden / 86400)
Restsekunden = Sekunden - Tage * 86400
Stunden = (int) (Restsekunden / 24)
Restsekunden = Restsekunden - Stunden * 24
Minuten = (int) (Restsekunden / 60)
Restsekunden = Restsekunden - Minuten * 60

Print Tage Stunden Minuten Restsekunden

Benutzeravatar
Meillo
Moderator
Beiträge: 8819
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [Gelöst] Zeiten im Format hh:mm addieren

Beitrag von Meillo » 30.10.2023 15:19:21

Okay, so ist mir das auch bekannt. Das ist genau die Handarbeit und das Denkenmuessen, das ich meine.

Wie cool waere es, wenn es ein Standard-Tool gaebe mit dem ich sagen kann: Vier Tage plus 2:14:31 Stunden geteilt durch vier und das Ergebnis bitte in Minuten ausgeben.

IMO waere es technisch nicht schwer gewesen, so ein Tool damals zu bauen (insbesondere mittels yacc). Es ist seltsam und schade, dass es das nicht gibt.
Use ed once in a while!

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: [Gelöst] Zeiten im Format hh:mm addieren

Beitrag von GregorS » 30.10.2023 15:21:46

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 15:19:21
... Es ist seltsam und schade, dass es das nicht gibt.
Vermutlich haben die „Das Fünfte Element“ (voraus)gesehen („Zeit spielt keine Rolle.“).

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
heisenberg
Beiträge: 3584
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: [Gelöst] Zeiten im Format hh:mm addieren

Beitrag von heisenberg » 30.10.2023 15:22:51

@Meillo: Schon wieder vergessen?
Ist ja erst 7 Jahre her. :mrgreen:
Meillo hat geschrieben: ↑ zum Beitrag ↑
10.06.2016 09:17:05
heisenberg hat geschrieben:Auch wenn es dem Threadinhalt nicht ganz entspricht: Es gibt da noch Debiandateutils, was einige nette Werkzeuge zum arbeiten mit Datumsinformationen hat.

--> http://www.fresse.org/dateutils/
Darauf warte ich ja schon lange! Hab mich immer schon gefragt, warum die ihren Weg nicht in Unix gefunden haben. Timestamps sind zwar gut rechenbar ... aber will man das immer von Hand machen?

(Ohne es bislang selbst getestet zu haben ... aber von der Idee ist klar was es tut.) Sowas wie datediff(1) ist ein Tool, das eine Orthogonalitaet bietet, die bislang in Unix fehlt. Super, dass sich das jetzt endlich aendert. :-)

EDIT: ... und alles im One-True-Date-Format.Genial! YMMD! :THX:
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
Meillo
Moderator
Beiträge: 8819
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [Gelöst] Zeiten im Format hh:mm addieren

Beitrag von Meillo » 30.10.2023 16:09:44

Danke fuer die Erinnerung. ;-)
Use ed once in a while!

Huo
Beiträge: 615
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Zeiten im Format hh:mm addieren

Beitrag von Huo » 30.10.2023 16:22:45

MSfree hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 15:09:52
Date macht da immer einen "Fehler" von einem Tag, auch, wenn man %j (Tag der Jahres) verwendet.

Tage = (int) (Sekunden / 86400)
[...]
Da muss man wohl date mit einer Prise "Handarbeit" kombinieren. Heisenbergs Befehl modifiziert::

Code: Alles auswählen

$ sekunden=123456
$ date -d "@$sekunden" +"$(( $sekunden/86400 )) Tag(e) und %H:%M:%S Stunden"
1 Tag(e) und 11:17:36 Stunden
Edit: Huch, bei mir wurde eine Stunde zuviel ausgegeben (11 statt 10 Stunden). 8O Also vielleicht besser noch ein "--utc" reinschieben:

Code: Alles auswählen

$ date -d "@$sekunden" --utc +"$(( $sekunden/86400 )) Tag(e) und %H:%M:%S Stunden"
1 Tag(e) und 10:17:36 Stunden</pre>

Huo
Beiträge: 615
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Zeiten im Format hh:mm addieren

Beitrag von Huo » 30.10.2023 16:56:39

MSfree hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 15:09:52
Tage = (int) (Sekunden / 86400)
Restsekunden = Sekunden - Tage * 86400
Stunden = (int) (Restsekunden /24)
Restsekunden = Restsekunden - Stunden * 24
Minuten = (int) (Restsekunden / 60)
Restsekunden = Restsekunden - Minuten * 60

Print Tage Stunden Minuten Restsekunden
Vielleicht etwas beckmesserisch, aber damit alles seine Richtigkeit hat: Eine Stunde hat nicht 24, sondern 3600 Sekunden.
Stunden = (int) (Restsekunden / 3600)
Restsekunden = Restsekunden - Stunden * 3600

katzenfan
Beiträge: 582
Registriert: 19.04.2008 22:59:51

Re: Zeiten im Format hh:mm addieren

Beitrag von katzenfan » 30.10.2023 17:33:46

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 13:01:04
Das muss man aber immer von Hand machen. Es gibt beispielsweise keine Enduser-Tools, um Zeitdifferenzen zu berechnen und weitere Grundrechenarten damit durchzufuehren.
Freilich hat es Enduser-Tools, mit denen Zeitberechnungen durchführbar sind, bspw., via Libreoffice Calc.

Wenn die einzelnen Tabellenwerte das richtige Zeitformat haben, (das ist ganz wichtig), lassen sich diese einzelnen Tabellenwerte, bspw., aufsummieren, (mehr war hier noch nicht nötig), so daß man dann eine korrekte Gesamtzeit in Stunde:Minute herausbekommt.

Dieses Teilen durch 24 ist dann nötig, wenn man den Dezimalwert der Zeitangabe haben möchte, sonst unnötig.

Man kann mit Libreoffice Calc, bspw., folgendes tun

Uhrzeit 1; Uhrzeit2 -> Zeitspanne zwischen diesen Uhrzeiten in Stunde: Minute = Uhrzeit2 minus Uhrzeit 1; dieses kann man Tag für Tag so realisieren und dann diese einzelnen Zeitspannen als Summe zusammenfassen und in Stunde:Minute ausgeben.

Wie Libreoffice Calc das im Hintergrund bewerkstelligt, ist mir wurscht, das Eregebnis stimmt jedenfalls, wenn man es manuell nachrechnet.

Was hier bislang noch händisch nötig ist, ist das Erfassen der einzelnen Uhrzeiten je Tabellenfeld.

Ob Libreoffice Calc mit anderen Programmen derart zusammenarbeitet, das das Erfassen der Werte, also Uhrzeitangaben, der einzelnen Tabellenfelder automatisiert ermöglicht, weiß ich allerdings nicht.

Sind diese einzelnen Tabellenwerte in die Tabellenfelder eingetragen und richtig formatiert, tut Libreoffice Calc den Rest von selber.

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Zeiten im Format hh:mm addieren

Beitrag von GregorS » 30.10.2023 17:38:12

katzenfan hat geschrieben: ↑ zum Beitrag ↑
30.10.2023 17:33:46
Freilich hat es Enduser-Tools, mit denen Zeitberechnungen durchführbar sind, bspw., via Libreoffice Calc.
Naja, wenn man ein Monster wie irgendeinen Libreoffice-Teil als „Tool“ bezeichnen mag...
Unter „Tool“ verstehe ich etwas eher Handliches.

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Antworten