Halllo,
ich kram hier nochmal ein ganz altes Ding raus, naemlich die Logfiles und das Fahrtenbuch. In beidem kommt es bei ueberschreitung der 24 Uhr Grenze waehrend des trips dazu das negative Werte fuer die Fahrtdauer angegeben werden. Zwar bekommt man nie 100% hin die fahrtdauer richtig zu rechnen weil einfach das Datum nicht mitgeloggt wird und so 3 tagesfahrten auch nur 23,59h gedauert haben koennen. Aber die einfachen paar stunden fahrten mit logfileende nach 24 Uhr lassen sich so schonmal richtig speichern.
Logfileausschnitt (anfang...ende)
$Glopus, 130.5,-10:-52:-39,,,
$GPRMC,114249.903,V,,,,,,,011207,,,N*49
....
$GPRMC,005430.302,V,,,,,,,021207,,,N*48
EOF
waehrend des naechsten aufrufens des Fahrtenbuchs erechnet Glopus offenbar die dauer, km etc nur bin ich nicht dahintergestiegen wie, denn auf die -10:-52:-36 h kam ich nie.
reale Fahrtdauer Kopfrechnen durch scharfes hinsehen 13:11:41
(M)ein Weg fuers rechnen war so.
Startzeit in Sekunden wandeln 11h*3600s+42m*60s+49s=42169s
Endzeit in sekunden wandeln
Falls ENDZEITSEKUNDEN<STARTZEITSEKUNDEN ---> ENDZEITSEKUNDEN+1*24*3600s (ohne datum "ein-facher" Uebertrag.)
Bei A habe ich versucht auf die glopus werte zu kommen. Vermute das Glopus die erste zeile nimmt und die letze und aus der zeitdifferenz die dauer ermittelt. Scheint aber nicht ganz zu stimmen? (Fuer den Fall das jede zeile sowieso angefasst wird koennte man natuerlich anhand der "nulldurchgange" den uebertrag ermitteln und so auch 3 tagesfahrten richtig angeben.)
A) 005430 00*3600+54*60+30=3270 --->
3270s-42169s=-38899s ---> -38899/3600=-10,80 (-38899 % 3600)/60=48,31 (-38899 % 3600) % 60 =19
B) 245430 24*3600+54*60+30=89670 --->
89670s-42169s=47501s ---> 47501/3600=13,19 (47501 % 3600)/60=11,68 (47501 % 3600) % 60 =41