时间范围是无效的声明

时间:2016-08-03 13:12:55

标签: c#

我正在尝试根据下面创建的下拉列表创建一个if语句。这决定了时间是在时间之前还是之后。根据结果​​,显示验证。

例如:时间从4:00到时间到4:30。应该可以接受。

但是如果时间从4:00到时间到3:30。这不应该被接受。

有什么想法吗?

private void BindTime()
  {
      // Set the start time (00:00 means 12:00 AM)
      DateTime StartTime = DateTime.ParseExact("00:00", "HH:mm", null);
      // Set the end time (23:55 means 11:55 PM)
      DateTime EndTime = DateTime.ParseExact("23:55", "HH:mm", null);
      //Set 15 minutes interval
      TimeSpan Interval = new TimeSpan(0, 15, 0);
      //To set 1 hour interval
      //TimeSpan Interval = new TimeSpan(1, 0, 0);           
      ddlTimeFrom.Items.Clear();
      ddlTimeTo.Items.Clear();
      while (StartTime <= EndTime)
      {
          ddlTimeFrom.Items.Add(StartTime.ToShortTimeString());
          ddlTimeTo.Items.Add(StartTime.ToShortTimeString());
          StartTime = StartTime.Add(Interval);
      }
      ddlTimeFrom.Items.Insert(0, new ListItem("  Select  ", "0"));
      ddlTimeTo.Items.Insert(0, new ListItem("  Select  ", "0"));
  }

1 个答案:

答案 0 :(得分:1)

如果要验证,请使用此功能:

private bool IsSelectionValid()
{
    DateTime fromTime;
    DateTime toTime;

    if(!DateTime.TryParse(ddlTimeFrom.SelectedValue, out fromTime) ||
       !DateTime.TryParse(ddlTimeTo.SelectedValue, out toTime))
    {
        return false;
    }

    return fromTime < toTime;
}
如果fromTime不小于toTime,

IsSelectionValid将返回false。