我有这个:
var lDate = document.getElementById('txtLeaveDate');
var rDate = document.getElementById('txtReturnedDate');
错误... javascript所以如何将txtLeaveDate的值赋给日期变量
我试过了:
var myDate = new Date(lDate.value);
但是这给了一些很长的价值......
如果我尝试,我可以这样做:
var today = new Date();
var day2 = new Date();
day2.setDate(today.getDate() + 30);
但问题是我需要从txtLeaveDate获取日期而不是日期变量
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个日期时,如下:
答案 0 :(得分:1)
如果我尝试并说
alert(theLDate.valueOf());
它会返回1309924800000
那是因为是 Date对象的值,以自1/1/1970 00:00:00开始的毫秒数来衡量,在这种情况下对应于Wed Jul 6 04:00:00 2011 UTC。
尝试使用.toString()
,您将以人类可读的格式看到相应的日期。
您的日期出现在6月份的问题是因为奇怪原因的getMonth()
函数返回月份zero based, i.e. January == 0。
答案 1 :(得分:0)
您需要使用.innerHTML
,否则您不会返回元素中的文本。
var lDate = document.getElementById('txtLeaveDate').innerHTML;
var myDate = new Date(lDate);
document.write(myDate);
答案 2 :(得分:0)
someDate.getMonth方法返回的月份为零索引(从0到11)。因此,如果使用它们来创建一个字符串,请添加1!
var month = theLDate.getMonth() + 1;