如何验证日期不是.net c中的未来日期#

Jin*_*ong 4 .net c# asp.net datetime

只是徘徊,我如何验证日期不是.net c#中的未来日期.

例:

我已在那里应用了验证以进行必要的字段验证.但不知怎的,我不知道如何应用验证来检查开始日期,以确保它不是未来的日期(日期不大于当前日期)?

  <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>
Run Code Online (Sandbox Code Playgroud)

比我写下面的代码试用了日期验证.日期验证对我来说似乎不起作用:(

    <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> 
Run Code Online (Sandbox Code Playgroud)

代码背后:

   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);
   }
Run Code Online (Sandbox Code Playgroud)

soa*_*dos 23

DateTime实现IComparer接口.检查它是否大于DateTime.Now

没有理由解析它,只是这样做:

if(datetime1>datetime2)
{
    ....
}
Run Code Online (Sandbox Code Playgroud)