脚本是---
function TimeSpentForFutureDate() {
var toDate = new Date();
toDate.setMinutes(0);
toDate.setSeconds(0);
toDate.setHours(0);
toDate.setMilliseconds(0);
//Here after selecting future date also, this condition is failing.The textbox
// containing a future date
if (document.getElementById('<%= txtDate.ClientID%>').value > toDate) {
var timespent = jPrompt('Enter Time Spent:', '', 'Enter Time Spent',
function (r) {
if (r) {
document.getElementById('<%=
hiddenFieldFutureDateSelectTimeSpent.ClientID%>').value = r;
jAlert('You entered ' + r);
}
else {
var todaysDate = new Date();
jAlert('You had not entered the Time Spent', 'Message');
}
});
}
else {
document.getElementById('<%=
hiddenFieldFutureDateSelectTimeSpent.ClientID%>').value =
timespent;
document.getElementById('<%= txtDate.ClientID%>').value = toDate;
}
}
在上面的代码中,我正在检查文本框'txtDate'是否包含将来的日期。
[但是比今天的日期更大,它将提示输入花费的时间,然后将花费的时间存入隐藏的领域。]
我无法将字符串转换为日期时间对象进行比较。请帮我解决这个问题。
提前致谢。
答案 0 :(得分:2)
Date.parse
会做到这一点
var dateToCovert=document.getElementById('<%= txtDate.ClientID%>').value;
var sDate = new Date(Date.parse(dateToCovert,"MM/dd/yyyy"));
格式(“MM / dd / yyyy”)当然可以根据您的需要进行更改
注意:的
确保dateToCovert
不为空且格式为有效
Date.parse
在IE7 / 8中不起作用。