Javascript ist Toll!

Javascript

12. Juli 2010 - 00:47

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 mit Zeitangaben gerechnet werden kann.

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:

javascript
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.

javascript
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:

javascript
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

Beispiel

Zeit 1:  
Zeit 2: 
(Die Werte werden beim verlassen der Felder berechnet)
sub() =  
add() = 

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()

Comments (0)
386 mal gelesen.

Keine Kommentare Einen Kommentar hinterlassen »

Es gibt noch keine Kommentare.

Einen Kommentar hinterlassen

Name (erforderlich)
Mail (wird nicht angezeigt) (erforderlich)
Website

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Powered by WordPress Stop Spam Harvesters, Join Project Honey Pot
rats-wonderful
rats-wonderful
rats-wonderful
rats-wonderful Browser-Statistiken