Datumsfunktion liefert im IE falsche Werte

Hallo alle zusammen,

ich habe noch nicht viel mit Javascript gearbeitet deswegen ist der Code bestimmt nicht der Beste.

Ich möchte der OnLoad Event (im bodytag) beim Laden der Seite mehrere Formular Felder ausfüllen, dazu habe ich mir eine kleine Funktion geschrieben:

Code:
function initDate()
{

	var dateObj = new Date();
	var day = dateObj.getDate();
	var month = dateObj.getMonth();
	var year = dateObj.getYear();
	year -= 100;
	day++;
	month++;
	var nextmonth = month + 1;

	if(year < 10)
	{
		year = '0'+year;
	}
	if(month < 10)
	{
		month = '0'+month; 
	}
	if(nextmonth < 10)
	{
		nextmonth = '0'+nextmonth; 
	}

	
	alert(day+year+month);

	document.foo.morgen1.value = day;
	document.foo.morgen2.value = year+month;

	
	document.foo.naechstermonat1.value = day;
	document.foo.naechstermonat2.value = year+nextmonth;
}

in die Optionfelder soll das Datum von Morgen und von Morgen in einem Monat eingesetzt werden, was im Firefox auch ohne Beschwerden funktioniert, mir aber im IE6 und IE7 falsche Werte liefert.

Mit dem heutigen Datum als Basis liefert der alert im Firefox korrekt "240807"

im IE hingegen liefert der Alert den Wert "193207".

Das Formular sieht so aus:

Code:
            	  <select name="morgen1" size="1" class="eform50">
                    <option value="1">01</option>
                    <option value="2">02</option>
                    <option value="3">03</option>
                    <option value="4">04</option>
                    <option value="5">05</option>

                    <option value="6">06</option>
                    <option value="7">07</option>
                    <option value="8">08</option>
                    <option value="9">09</option>
                    <option value="10">10</option>
                    <option value="11">11</option>

                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>

                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20" selected="selected">20</option>
                    <option value="21">21</option>
                    <option value="22">22</option>
                    <option value="23">23</option>

                    <option value="24">24</option>
                    <option value="25">25</option>
                    <option value="26">26</option>
                    <option value="27">27</option>
                    <option value="28">28</option>
                    <option value="29">29</option>

                    <option value="30">30</option>
                    <option value="31">31</option>
                  </select>
            	  <select name="morgen2" size="1" class="eform90">
                    <option value="0805" selected="selected">Mai 08</option>
                    <option value="0806">Juni 08</option>
                    <option value="0807">Juli 08</option>

                    <option value="0808">Aug. 08</option>
                    <option value="0809">Sep. 08</option>
                    <option value="0810">Okt. 08</option>
                    <option value="0811">Nov. 08</option>
                    <option value="0812">Dez. 08</option>
                    <option value="0901">Jan. 09</option>

                    <option value="0902">Feb. 09</option>
                    <option value="0903">März 09</option>
                    <option value="0904">April 09</option>
                  </select>

Über Verbesserungsvorschläge und Kritik würde ich mich freuen.

Vielen Dank im voraus
moveax

// Edit: Ok mittlerweile habe ich herausgefunden dass der IE für das Jahr 2008 auch "2008" ausgibt, der Firefox gibt mir "108" aus, also die differenz zum Jahr 1990. Mal sehen ob mich das weiterbringt

// Edit 2: bin jetzt über die Lösung gestolpert, ich hab einfach die Stringlaenge ermittelt und mir die letzten beiden Zeichen geholt, dann kann ich auch alles wieder passend einsetzen. Die Daten musst ich vorher zu Strings konvertieren. Hab vorher wohl nicht weit genug gedacht.

Entschuldigung für den unnützen Thread
 
Zurück
Oben