Re: mit Uhrzeiten rechnen Kategorie: Programmierung (von ChristianS - 24.08.2011 21:02) | ||
Als Antwort auf Re: mit Uhrzeiten rechnen von André H. - 24.08.2011 13:40 | ||
| ||
> Hallo Christian, > > > ich noch mal. Jetzt möchte ich einfach eine beliebige Anzahl von Minuten abziehen. Ich habe mal > > versucht die Funktion umzubauen. In Excel scheint es zu funzen. > > > > > > function subTime(int time, int minutes) returns int > > { > > minutes= (time%100) - minutes; > > return ((time/100 + minutes/60)%24)*100 + ((minutes*-1)%60); > > } > > > > Für die Subtaktion brauchst Du einen Ansatz. Das einfachste ist, denen Zeitwert > in einen Time-Serial umzuwandeln. > > function subTime(int time, int minutes) returns int > { > time=(((time/100)*60 + (time%100) - minutes; > return (time/60)*100 + (time%60); > } > > Genaugenommen ist das sogar die bessere Variante, auch für die Addition: > > function addTime(int time, int minutes) returns int > { > time=((time/100)*60 + (time%100) + minutes; > return ((time/60)%24)*100 + (time%60); > } > > Hier kannst Du auch negative Werte angeben, so da� nur eine Funktion benötigt wird. > Allerdings gibt's noch ein kleines Problem. Den Tageswechsel bei einer Subtraktion. > Wenn Du nun von 0:30 Uhr 60 Minuten abziehst, erhälst Du -30 statt 23:30. > Hier kommt man um eine If-Abfrage (fast) nicht herum: > > function addTime(int time, int minutes) returns int > { > time=((time/100)*60 + (time%100) + minutes; > if time<0 time=1440+time; > return ((time/60)%24)*100 + (time%60); > } > > Man kann natürlich immer 1440 Minuten hinzuaddieren. Dann spart man > sich die If-Abfrage. Durch die Moduludivision werden diese ggf. wieder ausgefiltert. > > MfG André H. Hallo André, Die Lösung mit nur einer Funktion ist klasse und funktioniert super. Besten Dank für die ausführlichen Erläuterungen. Ich glaub´ jetzt habe ich es verstanden. Jetzt kann ich mich dem nächsten Problem stellen.... PS: Eine Klammer hinter dem Gleichheitszeichen ist zu viel :-) Gru�, ChristianS | ||
Antwort schreiben Antworten: Re: mit Uhrzeiten rechnen (von Rene Schulz - 23.12.2011 19:22) |