# Datumsdifferenz berechnen



## oRiFiCe (24. Dezember 2005)

Hallo!
Ich möchte gerne auf eine HTML Seite ein kleines Javascript einbauen das mir zu einem fixen Datum die Differenz zum aktuellen Datum berechnet.
Als Beispiel:
3.12.2005 - heute = Ausgabe("Es sind " + X + " Tage vergangen")
Wie lässt sich das realisieren?
Hab schon im Forum und über eine Suchmaschine gesucht, jedoch bin ich nicht fündig geworden.
Vielen Dank im Voraus und ein frohes Fest,
Gruss,
  Andreas


----------



## con-f-use (24. Dezember 2005)

Also normalerweise würde ich meine übliche Leier von wegen "wir sind hier keine Scriptdatenbank" abspulen und sagen, "du sollst gefälligst die Forensuche, Google oder eben eine Scriptdatenbank benutzten anstatt hier nach Scripts zu fragen, die es schon tausend mal gibt" und würde dich auf diesen Thread verweisen: http://www.tutorials.de/tutorials215197.html

 Da aber heute Weihnachten ist, gebe ich dir eine kleine Inspiration: Auf meiner Seite zu Tutorials.de findet man die Scripts, nach denen hier am öftesten gefragt wird. Dort habe ich einen Altersrechner hochgeladen in dem man Uhrzeit und Datum seiner Geburt eingeben kann und der einem dann daraus das genaue Alter berechnet - was anderes brauchst du ja auch nicht.


----------



## oRiFiCe (24. Dezember 2005)

Alles klar hab's hinbekommen.
Vielen Dank!


----------



## con-f-use (24. Dezember 2005)

Kein Problem. Allerdings hast du anscheinend den einen Thread nicht gruendlich genug gelesen, denn dann haettest du diesen hier als "erledigt" markiert.


----------



## oRiFiCe (24. Dezember 2005)

Ist auch noch nicht erledigt!
Hätte da nämlich noch eine kleine Frage.
Ich möchte den Text ganz gerne noch formatieren und zentrieren..nur mit HTML Tags klappt das nicht so wirklich.
Wie krieg ich das hin?
Vielen Dank im Voraus,
Gruss, Andreas


----------



## con-f-use (25. Dezember 2005)

Dann solltest du erstens den genauen Code posten und zweiten noch sagen, wie genau du es formatieren willst, denn unter meinen Weihnachtsgeschenken war leider keine Kristallkugel (joke by Sven Mintel).


----------



## oRiFiCe (25. Dezember 2005)

An deiner Funktion selber habe ich nicht sehr viel geändert; sie gibt bei mir jetzt nur noch Tage, Monate und Jahre aus, vom Prinzip her genau das selbe wie deine.

```
<script type="text/javascript" src="crosswrite.js"></script>

		<script type="text/javascript"><!-- 
			//coded by con-f-use@gmx.net - be fair and do not remove this

			function calculate_age() {
			var	b_d = 03,
				b_M = 12,
				b_y = 2005;

				d=M=y=0,

				now = new Date(),
				n_d = now.getDate(),
				n_M = now.getMonth()+1,
				n_y = now.getFullYear(),

				monthdays = new Array(31,( (n_y % 4 == 0 && ( n_y % 100 != 0 || n_y % 400 == 0 )) ? 29 : 28 ),31,30,31,30,31,31,30,31,30,31);

				if (n_d<b_d) {
					d += monthdays[(n_M)] + n_d - b_d;
					M--;
				} else { d += n_d - b_d; }
				if (n_M<b_M) {
					M += 12 + n_M - b_M;
					y--;
				} else { M += n_M - b_M; }
				y += n_y - b_y;

				display = ((y>0) ? + y + ((y==1)? ' year, ' : ' years, ') : '') +
					((M>0) ? + M + ((M==1)? ' month, ' : ' months, ') : '') +
					((d>0) ? d + ((d==1)? ' day' : ' days');
		
				crssBrwsrWrite('Ausgabe',display)
				}
		--></script>
```

Und wenn ich das richtig verstanden habe bestimmt diese Zeile:

```
<script type="text/javascript">crssBrwsrWrite('Ausgabe');</script>
```
wo die Ausgabe statt finden soll.
Ich habe versucht die Ausgabe zu Zentrieren, ihr die Schriftart Tahoma und eine bestimmte Größe zu geben, aber das hat nicht so wirklich funktioniert.
So hab ich das versucht:

```
<font face = "Tahoma" size="+2"><center><script type="text/javascript">crssBrwsrWrite('Ausgabe');</script></center></font>
```
Hat allerdings nichts genützt. Wo kann ich denn diese Angaben über die Ausgabe anpassen?
Vielen Dank im Voraus,
Gruss,
  Andreas


----------



## con-f-use (25. Dezember 2005)

crssBrwsrWrite() war eine Funktion, die ich mir geschrieben haben um eine Ausgabe in so ziemlich jedem Browser mit einem einzigen Befehl zu realisieren. Wird sie nur mit einem Parameter aufgerufen schreibt sie einen Span mit der id, die in diesem Parameter angegen ist (hier: "Ausgabe") in das Dokument.

 Am leichtestet lässt sich das span dann natürlich über eine Id-Pseudo-Klasse über CSS formatieren. Solltest du aus irgent einem Grund das nicht wollen, kannst du auch statt crssBrwsrWrite() document.getElementById('Ausgabe').innerHTML = display verwenden und den span von Hand vorher ins Dokument schreiben.


----------



## oRiFiCe (25. Dezember 2005)

Sorry das war mir jetzt ein bisschen zu hoch..bin nicht so erfahren in HTML CSS und JavaScript. Kannst du mir mal ein Beispiel geben bitte?
Vielen Dank im Voraus,
Gruss,
Andreas


----------



## con-f-use (25. Dezember 2005)

Kann es sein, dass du einfach vergessen hast, die Datei mit dem crssBrwsrWrite() in dein Script einzubinden?


----------



## oRiFiCe (25. Dezember 2005)

Dann würde es aber nicht funktionieren oder?


----------



## con-f-use (25. Dezember 2005)

Ne, würde nicht, aber ich hab hier schon alles erlebt.

 Mir ist noch ne Möglichkeit eingefallen: Meine Funktion crssBrwsrWrite() schreibt ja bekanntlich einen <span>-Tag mit der id="Ausgabe" in das Dokument. Jetzt wäre jenes <span>-Tag natürlich predestiniert dafür, es über CSS mittels einer sog. Pseudo-Klasse zu formatieren: 
	
	
	



```
<style type="text/css">
  #Ausgabe {
  	color:#FF0000;
  	font:Tahoma;
  }
  </style>
```
 
 Oder du machst es so, wie ich es vorher gesagt habe: 
	
	
	



```
<font face = "Tahoma" size="+2"><center id="Ausgabe"></center></font>
```
 lässt also das crssBrwsrWrite() ganz weg und änderst folglich auch im Skript selbst: 
	
	
	



```
crssBrwsrWrite('Ausgabe',display);
```
 um in 
	
	
	



```
document.getElementById('Ausgabe').innerHTML = display;
```
 Jetzt verstanden?


----------

