如何检查输入的日期时间

时间:2011-09-23 09:42:15

标签: c#

我有一个textBox,用户使用日历输入日期时间,我正在检查文本框是否为空

       if ((string.IsNullOrEmpty(txt_SendAt.Text) == false)

如何检查输入的日期时间是否小于或=当前日期时间

7 个答案:

答案 0 :(得分:1)

 if ((string.IsNullOrEmpty(txt_SendAt.Text) == false 
             && DateTime.Parse(txt_SendAt.Text) <= DateTime.Now )

答案 1 :(得分:1)

DateTime enteredDateTime;
if (!DateTime.TryParse(txt_SendAt.Text, out enteredDateTime))
{
   Debug.WriteLine("User entered date time in wrong format");
}else
{
   if(enteredDateTime <= DateTime.Now)
   {
      // less or equal
   }
}

答案 2 :(得分:0)

使用DateTime类的ParseTryParse静态方法之一将字符串转换为DateTime并将其与当前DateTime进行比较。

DateTime input;
if(DateTime.TryParse(txt_SendAt.Text, 
                     CultureInfo.InvariantCulture, 
                     DateTimeStyles.None, 
                     out input))
{
  if(input <= DateTime.Now)
  {
    // your code here
  }
}
else
{
 //not a valid DateTime string
}

答案 3 :(得分:0)

ParseTryParse文字DateTime,然后与DateTime.Now进行比较

答案 4 :(得分:0)

这里有几个步骤,首先检查输入某些内容,然后检查它实际上是一个日期,最后检查所需的日期,如下:

var input = DateTextBox.Text;
if (!string.IsNullOrEmpty(input))
{
    DateTime date;
    if (DateTime.TryParse(input, out date))
    {
        if (date <= DateTime.Now)
        {
            //bingo!
        }
    }
}

请注意TryParse检查输入字符串的正确格式是否为日期 - 仅使用Parse是确保您的应用 BANG!

答案 5 :(得分:0)

您可以使用DateTime.Parse方法将字符串输入解析为DateTime,然后以正常方式运行比较。

请记住,如果输入不能直接转换为所需类型,Parse方法将抛出FormatException。如果你有一个自由文本输入,那么去TryParse方法可能更有意义。

var inputDate = DateTime.Parse(txt_SendAt.Text);
if (inputDate > DateTime.Now)
{
    Console.WriteLine("DateTime entered is after now.");
}
else if (inputDate < DateTime.Now)
{
    Console.WriteLine("DateTime entered is before now.");
}

答案 6 :(得分:0)

if (!(string.IsNullOrEmpty(txt_SendAt.Text) && Datetime.Parse(txt_SendAt.Text)<=Datetime.Now)
{
   /*code */
}
else
{
   /*code */
}