Rechnen mit der Zeit
Um mit Stunden und Minuten rechnen zu können, müssen diese umgewandelt werden. Entweder in eine Dezimalzahl, die die Minuten und Sekunden in Bruchteilen angibt oder in eine ganze Zahl, wie in diesem Artikel bei Selfhtml beschrieben.
Eine Angabe hh:mm:ss wird dort einfach in Sekunden umgewandelt, mit dieser Zahl läßt sich dann leicht rechnen. Ich habe dieses Verfahren genutzt, um eine kleine Klasse zu schreiben, mit der in Javascript leicht Zeitangaben addiert und subtrahiert werden können.
Hour.js
Ich habe die Klasse Hour
genannt, da die Stunde die höchste Einheit ist, die damit berechnet werden kann. Um die Klasse anzuwenden, muss ihr eine Zeichenkette im Format hh::mm:ss
als Parameter im Konstruktor übergeben werden. Wobei alle Angaben optional sind und wenn sie fehlen auf Null gesetzt werden. Ein einfaches Beispiel sieht folgendermaßen aus:
var z1 = new Hour('1:35:20'); var z2 = new Hour('0:45:55'); alert(z1.add(z2)); // Ausgabe: 02:21:15 alert(z1.sub(z2)); // Ausgabe: 00:49:25 |
Durch überschreiben der Funktionen toString()
und valueOf()
wird entweder eine formatierte Zeichenkette oder die Anzahl der Sekunden zurück gegeben.
var z1 = new Hour('1:35:20'); alert(z1); // Stringkontext Ausgabe: 01:35:20 alert(z1 * 1); // Zahlenkontext Ausgabe: 5720 |
Die Methode hour()
gibt die Zahl als Dezimalzahl zurück:
var z1 = new Hour('1:35:20'); alert(z1.hour()); // Ausgabe: 1.5888888889 |
Mit der Methode set()
wird der Wert neu gesetzt, dabei muss der Wert in Sekunden übergeben werden.
Methoden
new(String):
erzeugt ein Hour Objekt aus einer Zeichenkette im Format: hh:mm:ssadd(Hour):
addiert zwei Hour-Objektesub(Hour):
subtrahiert zwei Hour-Objektehour():
berechnet Stunden als Fließkommazahlset(Number):
setzt den Wert des Objektes neu
Beispiel
Download
Die Datei kann hier runtergeladen werden: hour.js
In der Datei ist noch eine String.prototype
Funktion, mit der jede Zeichenkette in ein Hour-Objekt umgewandelt werden kann. In der Form: '01:00:00'.hour()
ähnliche Artikel
- 6. February 2013 -- Javascript LED Scroller (20)
Letztens gab es in den Kommentaren des älteren Artikels...
- 22. June 2012 -- Tween(2) (0)
Die Technik um mit Javascript eine Bewegung zu animieren...
- 15. November 2011 -- Round Robin Berechnung mit Javascript (0)
Mit dem Round Robin Algorithmus können Spielpaarungen...
2452 mal gelesen.
Noch keine Kommentare
Leave a comment