C# 日期验证
我使用javascript编写了一个函数,用于验证从日历中选择的日期和当前日期。我没有得到正确的结果。文本框中显示的日期格式为“2010年10月1日”。我创建的函数如下所示:C# 日期验证,c#,asp.net,javascript,C#,Asp.net,Javascript,我使用javascript编写了一个函数,用于验证从日历中选择的日期和当前日期。我没有得到正确的结果。文本框中显示的日期格式为“2010年10月1日”。我创建的函数如下所示: function CheckDate() { var today = new Date(); var startDate = document.getElementById("<%=txtStartDate.ClientID %>").value; var endDate = docum
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;
}
函数检查日期(){
var today=新日期();
var startDate=document.getElementById(“”)值;
var endDate=document.getElementById(“”)值;
if(Date.parse(endDate)>=今天){
警报(“结束日期不应大于今天”);
}
返回true;
}
var myDt=新日期();
myDOB=document.getElementById('dateField').value.split('-');
myDate=myDOB[0];
myMonth=getMonthInDigit(myDOB[1]);
myYear=myDOB[2];
var now=新日期();
myDt.setFullYear(MYEAR、MYMONT、myDate)//在这里,年、月、日的值应该从你得到的值中解析出来
var diff=(now.getTime()-myDt.getTime())
if(diff<0){
警报(“结束日期不应大于今天”);
}
您可以使用上面的javascript代码
注:制作getMonthInDigit函数,根据需要返回数字值
if (Date.parse(endDate) >= today) {
为了
您可能希望将日期标准化,因为时间戳可能比创建日期时大几毫秒:
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) {
您好……这正在工作……谢谢……我仍然不知道我编写的函数为什么不工作。如果您不进行更多操作,例如var myDt=new Date(Date.parse(endDate.replace(/-/g,“”))@mplungjan-检查代码现在我已经添加了如何获得月、年和年的值date@mplungjan-其简单的逻辑性取决于你如何定义你的功能。一种方法是放置if else梯子。:-)我并不是说这是一个真正的问题。在您的解决方案中,您将使用未定义的函数。我质疑解决方案的冗长性和缺少的函数。
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) {