2011-07-25 15 views
1

私はこれ持っている:getElementByIdの値を日付に割り当てますか?

var lDate = document.getElementById('txtLeaveDate'); 
    var rDate = document.getElementById('txtReturnedDate'); 

のErr ... javascriptの私は、私が試した変数日付

にtxtLeaveDateの値を割り当てない方法:

var myDate = new Date(lDate.value);

しかし、これは長い値を割り当てます....

私は試してみることができます:

var today = new Date(); 
    var day2 = new Date(); 
    day2.setDate(today.getDate() + 30); 

しかし、問題は、私がいない変数日付

編集完全なコード

var theLDate = new Date(lDate.value); 
     var theRDate = new Date(rDate.value); 

     //check if return date is a sunday, if it is no need 
     //to do anything, 
     //else make it a sunday 
     while (theRDate.getDay() != 0) 
      theRDate.setDate(theRDate.getDate() + 1); 

     //at this point RDate is a sunday... 
     while(theLDate.valueOf() <= theRDate.valueOf()) 
      { 
       if(theLDate.getDay() == 0) 
        { //sunday 
         var li = document.createElement('li'); 
         li.setAttribute('id', ['liID' + count]); 
         var month = theLDate.getMonth(); 
         var day = theLDate.getDate(); 
         var year = theLDate.getFullYear(); 
         var theDay = month + '/' + day + '/' + year + ' (Sunday)'; 
         li.innerHTML = theDay; 
         ul.appendChild(li); 
        } 
       theLDate.setDate(theLDate.getDate() + 1); 
       count++; 
      } 

しかし、私はそうのように私のカレンダーに2つの日付を選ぶ際によりtxtLeaveDateから日付を取得する必要がある。

あなたがそうでなければ、TEを返却していない、 .innerHTMLを使用する必要が

enter image description here

+1

「lDate.value」の値は何ですか? –

+0

@Felix 7/10/2011のような日付が表示されますが、 'alert(lDate.value.getDate())'を実行した場合、このメソッドは使用できません。 – oJM86o

+2

var myDate = new Date(lDate.value);正しい。おそらくあなたの日付は読みやすい形式ではないでしょう。 –

答えて

1

私はそれをしようと/それはが1からのミリ秒で測定されたDateオブジェクトの値、ですのでです 1309924800000

を返すalert(theLDate.valueOf());を言います1/1970 00:00:00、この場合は水曜日7月6日04:00:00 2011 UTCに対応します。

代わりに.toString()をお試しください。それに対応する日付が人間が判読できる形式で表示されます。

奇妙な理由のためにgetMonth()機能が月zero based, i.e. January == 0を返すため、6月に表示される日付の問題があります。

+0

omg私は愚かな感謝を感じる... – oJM86o

+0

これは正しい答えのようです。さらに、このコード行は、この '' li.setAttribute( 'id'、 'liID' + count);から '' li.setAttribute( ''、 'liID' + count)に変更する必要があります。 ' – jfriend00

0

someDate.getMonthメソッドから返された月はゼロインデックスされます(0から11まで)。だから、文字列を作成するためにそれらを使用する場合1を追加してください!

var month = theLDate.getMonth() + 1; 
関連する問題