我如何可以验证该日期是不是在.NET C#的未来的日期 [英] How can I validate the date is not the future date in .net c#

查看:109
本文介绍了我如何可以验证该日期是不是在.NET C#的未来的日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

只是游荡,我怎么能确认的日期是不是在.NET C#的未来的日期。

例如:

我已经为必填字段验证应用验证那里。但不知何故,我不知道如何应用的验证检查的开始日期,以确保它不是将来的日期(日期不能大于当前日期)?

 < TR>
        < TD ALIGN =权利与GT;开始日期:< / TD>
        < TD>< ASP:文本框=服务器ID =activeDate大小=8/>(YYYY-MM-DD)
            < ASP:使用RequiredFieldValidator ID =reqvactiveDate=服务器
                 的ControlToValidate =activeDate显示=动态EnableClientScript =真
                 的ErrorMessage =需要/>

        < / TD>
    < / TR>
 

不是我写了下面code至尝试了日期验证。日期验证似乎并没有为我工作:(

 < TR>
        < TD ALIGN =权利与GT;开始日期:< / TD>
        < TD>< ASP:文本框=服务器ID =activeDate大小=8/>(YYYY-MM-DD)
            < ASP:使用RequiredFieldValidator ID =reqvactiveDate=服务器
                 的ControlToValidate =activeDate显示=动态EnableClientScript =真
                 的ErrorMessage =需要/>

            < ASP:的CustomValidator =服务器
                ID =valDateRange
                的ControlToValidate =activeDate
                onservervalidate =valDateRange_ServerValidate
                的ErrorMessage =请输入有效日期/>
        < / TD>
    < / TR>
 

身后code:

 保护无效valDateRange_ServerValidate(对象源,ServerValidateEventArgs参数)
   {
       日期时间为MinDate = DateTime.Parse(1000年12月28日);
       日期时间的maxDate = DateTime.Parse(2011/05/26);
       DateTime的DT;

       args.IsValid =(DateTime.TryParse(args.Value,出DT)
                       &功放;&安培; DT< =的maxDate
                       &功放;&安培; DT> =为MinDate);
   }
 

解决方案

日期时间实现了IComparer的接口。检查其是否大于DateTime.Now

没有理由去分析它,只是做:

 如果(datetime1> DATETIME2)
{
    ....
}
 

Just wandering, how can I validate the date is not the future date in .net c#.

Example:

I have applied a validation there for required field validation. But somehow I have no idea how to apply the validation to check the start date to make sure it's not the future date (date not greater then the current date)?

  <tr>
        <td align="right">Start Date:</td>
        <td><asp:TextBox runat="server" ID="activeDate" size="8"/>(YYYY-MM-DD)
            <asp:RequiredFieldValidator ID="reqvactiveDate" runat="server"
                 ControlToValidate="activeDate" Display="Dynamic" EnableClientScript="true"
                 ErrorMessage="required" />

        </td>
    </tr>

than I wrote the following code to tried out the date validation. The date validation doesn't seem working for me :(

    <tr>
        <td align="right">Start Date:</td>
        <td><asp:TextBox runat="server" ID="activeDate" size="8"/>(YYYY-MM-DD)
            <asp:RequiredFieldValidator ID="reqvactiveDate" runat="server"
                 ControlToValidate="activeDate" Display="Dynamic" EnableClientScript="true"
                 ErrorMessage="required" />

            <asp:CustomValidator runat="server"
                ID="valDateRange" 
                ControlToValidate="activeDate"
                onservervalidate="valDateRange_ServerValidate" 
                ErrorMessage="enter valid date" />
        </td>
    </tr> 

code behind:

   protected void valDateRange_ServerValidate(object source, ServerValidateEventArgs args)
   {
       DateTime minDate = DateTime.Parse("1000/12/28");
       DateTime maxDate = DateTime.Parse("2011/05/26");
       DateTime dt;

       args.IsValid = (DateTime.TryParse(args.Value, out dt)
                       && dt <= maxDate
                       && dt >= minDate);
   }

解决方案

DateTime implements an IComparer interface. Check if its greater than DateTime.Now

There is no reason to parse it, just do:

if(datetime1>datetime2)
{
    ....
}

这篇关于我如何可以验证该日期是不是在.NET C#的未来的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆