Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 日期验证_C#_Asp.net_Javascript - Fatal编程技术网

C# 日期验证

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

我使用javascript编写了一个函数,用于验证从日历中选择的日期和当前日期。我没有得到正确的结果。文本框中显示的日期格式为“2010年10月1日”。我创建的函数如下所示:

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函数,根据需要返回数字值

  • 删除破折号
  • 针对today.getTime()的测试自Date.parse返回时间戳,而不是日期对象
  • 简单地改变

    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) {