Wieviele Tage sind vergangen?
Die Frage war, wieviele Tage sind seit einem Datum vergangen und kann das Date Objekt auch mit einem Datum vor dem 1.1.1970 umgehen?
Rechnet die Funktion richtig?
javascript
function deltaDays(date1, date2) { |
if(!date1 || !date2) return null; |
var check1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate()); |
var check2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate()); |
return Math.round(Math.abs(check1 - check2) / (1000 * 60 * 60 * 24 )); |
} |
Beispiel
Nachtrag (19.4.2010)
Das Skript ist leicht geändert. Der in den Kommentaren bemerkte Unterschied, hing von der Uhrzeit ab, die in der ersten Version des Skriptes, in das Ergebnis einfloss. Die aktuell hier dargestellte Version zeigt bei der Berechnung das gleiche Ergebnis an, wie z.b. Excel oder OpenCalc. Dürfte also richtig sein.
Ähnliche Artikel
Comments (19)
39464 mal gelesen.
39464 mal gelesen.


19 Comments
Einen Kommentar hinterlassen »
Kommentare
Montag 8.Juni 2009: 20:40
Was ist mit Schaltjahren?
Dienstag 9.Juni 2009: 14:16
Was soll mit denen sein?
Freitag 12.Juni 2009: 12:13
ist das Schaltjahr auch mit eingerechnet?
Freitag 12.Juni 2009: 15:46
Ja, ansonsten wäre das Date() Objekt nutzlos.
Donnerstag 8.Oktober 2009: 18:43
was ist mit dem jahr 01?
Dienstag 24.November 2009: 12:10
Du meinst daas Jahr 1901?
Die Differenz zwischen dem 1.1.1901 und dem 1.1.2009 beträgt 39447 und das scheint richtig zu sein.
Montag 1.Februar 2010: 10:15
nein ich meint das jahr 3001. wie ist es damit?
Montag 1.Februar 2010: 12:15
Ich weiß nicht, was du von mir Wissen willst, auch die Anzahl der Tage wird berechnet. Was soll also damit sein?
Sonntag 21.März 2010: 15:59
Hallo, ich bekomme bei anderen Berechnungsseiten bis zum heutigen Tag 8998 raus hier aber 8999...
Ist hier evtl. ein Fehler drin....
Montag 22.März 2010: 09:14
Ich hab versucht welche zu finden, ich finde aber keine anderen Berechnungseiten. Doch im Vergleich zu Open Office rechnet meine Rechung richtig.
Es wäre aber auch hilfreich gewesen, wenn du geschrieben hättest, was du berechnen willst.
Mittwoch 4.August 2010: 10:34
Hallo Struppi,
ist ne coole Sache, die du hier kreiert hast
Respekt!
Mittwoch 29.September 2010: 10:08
Danke für die gute Arbeit.
Detail: Ich habe ihr Programm benutzt um die Rechungen meiner Schüler zu überprüfen, dabei haben wir bemerkt, dass bei ihrem Programm das Jahr 2000 als Schaltjahr gerechnet wird, jedes Schaltjahr, dass durch 400 geteilt wird, ist jedoch ausnahmsweise kein Schaltjahr.
Mittwoch 29.September 2010: 10:33
Danke, solche Tests braucht man als Programmierer
Da die Datumsberechnung an sich, nicht von mir kommt, sondern aus dem Date-Objekt von Javascript, gehe ich eigentlich von der Korrektheit aus.
Die Regel ist, soweit ich Wikipedia verstehe, aber umgekehrt. Alle Jahre die durch 100 geteilt werden können sind keine Schaltjahre und die die durch 400 geteilt werden können sind doch welche.
Montag 31.Januar 2011: 19:14
Hallo Struppi,
nein, Deine Funktion rechnet nicht richtig, wenn ich als Datum den 31.1.1500 eingebe. Bedenke die Gregorianische Kalenderreform
Viele Grüße aus Oppenheim,
Rolf
Mittwoch 9.Februar 2011: 11:10
Vielen Dank für diese Berechnungsmöglichkeit. Hat mir sehr geholfen... und umständliche Rechnereien erspart.
DANKE!
Dienstag 19.April 2011: 22:46
Danke für diese seite, erspart mir viel nachdenken :b
Mittwoch 21.Dezember 2011: 16:28
bedenkst du in deiner rechnung das 1900 KEIN schaltjahr war?
wenn modulo 400 = 0 => schaltjahr
wenn modulo 100 = 0 => kein schaltjahr
wenn modulo 4 = 0 => schaltjahr
Donnerstag 22.Dezember 2011: 07:51
Warum fragst du?
Mittwoch 18.Januar 2012: 19:13
wüsste auch gerne wie lange ich schon spiele
danke
Einen Kommentar hinterlassen