Ich habe das aktuelle Datum gegeben mit z.B. currentTime = new Date();
Von diesem Date möchte ich nun z.B. 4 Stunden abziehen und das Datum erhalten. Es muss gewährleistet sein, dass auch bei Monatswechsel, Datumswechsel und Jahreswechsel immer der korrekte Wert ausgegeben wird.
//vergleichen kannst Du einfach mit < und > alert(now < now.addHours(4)); alert(now < now.addHours(-4));
Update: LiRo hat zu Recht darauf hingewiesen, dass man sich ein Date-Objekt mit getTime() leichter in Millisekunden umrechnen kann als mit dem von mir vorgeschlagenen Weg über Date.UTC(). Damit sähe die addHours-Methode dann so aus:
So gestaltet läßt sie das Objekt, auf dem sie aufgerufen wird, unverändert. Stattdessen gibt sie ein neues zurück. So sollte ein "einfacher" Datentyp eigentlich immer funktionieren. Da aber ein JavaScript-Date ohnehin schon Setter-Methoden hat, die das Objekt verändern können, wäre auch folgendes denkbar:
+1: Wo Du Recht hast... Aber die Date-API ist echt ein Alptraum. Hat die der gleiche Depp verbrochen, der java.util.Date vermurkst hat? Ich habe nach genau sowas wie getTime() gesucht und es übersehen, d.h. bin beim schnellen Überfliegen der Methodennamen nicht darauf gekommen, dass getTime das gesuchte wäre. Arrghhh... Dazu noch solche "Überraschungen" wie getYear oder getDay, ganz zu schweigen davon, dass Date mutable ist...
http://codekicker.de/benutzer/1749/moerrk#user-profile-view-votes