我已经使用javascript编写了一个函数,用于验证从日历选择的日期到文本框,并使用当前日期。而且我没有得到正确的结果。文本框中显示的日期格式为“01-Oct-2010”。我创建的函数如下:
function CheckDate() {
var today = new Date();
var startDate = document.getElementById("<%=txtStartDate.ClientID %>").value;
var endDate = document.getElementById("<%=txtEndDate.ClientID %>").value;
if (Date.parse(endDate) >= today) {
alert("End Date should not be greater than Today");
}
return true;
}
答案 0 :(得分:2)
var myDt=new Date();
myDOB = document.getElementById('dateField').value.split('-');
myDate = myDOB[0];
myMonth= getMonthInDigit(myDOB[1]);
myYear = myDOB[2];
var now = new Date();
myDt.setFullYear(myYear,myMonth,myDate); //here year, month, date value should be parsed from the value u get
var diff = (now.getTime() - myDt.getTime())
if(diff < 0){
alert("End Date should not be greater than Today");
}
您可以使用上面的javascript代码。
注意:创建getMonthInDigit函数,该函数根据需要以数字形式返回值。
答案 1 :(得分:1)
只需更改
if (Date.parse(endDate) >= today) {
代表
if (Date.parse(endDate.replace(/-/g," ")) >= today.getTime()) {
您可能想要标准化日期,因为时间戳可能比创建日期时大几毫秒:
var endTime = new Date(Date.parse(endDate.replace(/-/g," ")).setHours(0,0,0,0).getTime();
var today = new Date().setHours(0,0,0,0).getTime();
if (endTime > today) {