Moin!
Da fehlte was:
fastix@trainer:~$ node
> date_open = new Date("Jan 1 1970 9:00:00 +01:00");
Thu Jan 01 1970 09:00:00 GMT+0100 (CET)
> date_close = new Date("Jan 1 1970 12:00:00 +01:00");
Thu Jan 01 1970 12:00:00 GMT+0100 (CET)
> delta=new Date(date_close-date_open)
Thu Jan 01 1970 04:00:00 GMT+0100 (CET)
> delta.getUTCHours()
3
> delta.getUTCMinutes()
0
Gesucht wurde: 3 Stunden und 0 Minuten.
Verbaler Programmplan:
Jede Zeile ist ein Arrayelement. Dieses Element Zeile ist ein Array aus Elementen (Objekten). jedes dieser Elemente enthält einen Zeitpunkt für das Öffnen und Schließen. Per Definition des Muftis liegt der Zeitpunkt des Öffnens vor dem des Schließens. (Nachtkneipe öffnet also nicht von 23:00 bis 06:00 sondern von 23:00 - 2)4:00 und von 00:00 bis 06:00)
Hat man einem Array, dann iteriert über die Tage, dann über die Zeiten, nimmt date_open und date_close als Objekt, ermittelt das delta und summiert die Stunden und Minuten. Und zwar entweder schon wieder in einem Zeitobjekt oder man summiert die Minuten.
Hat man die Minuten, dann kann man die Stunden wie folgt ermitteln:
> minuten=290;
290;
> stunden=(minuten/60);
4.833333333333333
> stunden=Math.floor(minuten/60);
4
> restminuten=minuten-stunden*60;
50
4 Stunden und 50 minuten war gesucht.
Jörg Reinholz