Javascript ist Toll!

FAQ > Javascript

15. Oktober 2006 - 23:41

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.

19 Comments

Einen Kommentar hinterlassen »

Kommentare

1. von Betatester
Montag 8.Juni 2009: 20:40

Was ist mit Schaltjahren?

2. von Struppi
Dienstag 9.Juni 2009: 14:16

Was soll mit denen sein?

3. von Miss Princesz
Freitag 12.Juni 2009: 12:13

ist das Schaltjahr auch mit eingerechnet?

4. von Struppi
Freitag 12.Juni 2009: 15:46

Ja, ansonsten wäre das Date() Objekt nutzlos.

5. von philipp
Donnerstag 8.Oktober 2009: 18:43

was ist mit dem jahr 01?

6. von Struppi
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.

7. von philipp
Montag 1.Februar 2010: 10:15

nein ich meint das jahr 3001. wie ist es damit?

8. von Struppi
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?

9. von Robert
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....

10. von Struppi
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.

11. von minika
Mittwoch 4.August 2010: 10:34

Hallo Struppi,

ist ne coole Sache, die du hier kreiert hast :) Respekt!

12. von Herr Matter
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.

13. von Struppi
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.

14. von Rolf
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

15. von Makrele
Mittwoch 9.Februar 2011: 11:10

Vielen Dank für diese Berechnungsmöglichkeit. Hat mir sehr geholfen... und umständliche Rechnereien erspart.
DANKE!

16. von chrissy
Dienstag 19.April 2011: 22:46

Danke für diese seite, erspart mir viel nachdenken :b

17. von philipp sander
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

18. von Struppi
Donnerstag 22.Dezember 2011: 07:51

Warum fragst du?

19. von ursula1956
Mittwoch 18.Januar 2012: 19:13

wüsste auch gerne wie lange ich schon spiele
danke

Einen Kommentar hinterlassen

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

Folgende HTML Tags sind erlaubt: <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 kostenloser Counter Browser-Statistiken
rats-wonderful
rats-wonderful
rats-wonderful
rats-wonderful