我有一个textBox,用户使用日历输入日期时间,我正在检查文本框是否为空
if ((string.IsNullOrEmpty(txt_SendAt.Text) == false)
如何检查输入的日期时间是否小于或=当前日期时间
答案 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
类的Parse
或TryParse
静态方法之一将字符串转换为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)
Parse
或TryParse
文字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 */
}