我的WPF应用程序中有一个文本框,其中我以24小时格式获得时间。我想要的是,如果我的文本框的时间小于当前时间,那么 IF条件应该是真的,但它不起作用......
e.g:
txtdeparturetime.Text = 00:10
time == 00:31// time==>(object) here current time
if(txtdeparturetime.Text < time) // than this should work
以下是我的代码。
DateTime time = new DateTime();
DateTime deptime = DateTime.Parse(txtdeparturetime.Text);//converting textbox value into date object
if ((TimeSpan.Compare(deptime.TimeOfDay, time.TimeOfDay)) == -1)
{
//some code here
}
答案 0 :(得分:1)
您希望与DateTime.Now
而不是new DateTime()
进行比较,并且可以使用简单的<
比较运算符。
DateTime now = DateTime.Now;
DateTime deptime = DateTime.Parse(txtdeparturetime.Text);
if (deptime.TimeOfDay < now.TimeOfDay)
{
//some code here
}
这是一个工作示例,文本由常量而不是文本字段设置。
public static void test1()
{
DateTime now = DateTime.Now;
string timetext = "2017-02-04 12:16PM";
DateTime deptime = DateTime.Parse(timetext);
Console.WriteLine("text time="+timetext);
if (deptime.TimeOfDay < now.TimeOfDay)
{
Console.WriteLine("time is less than now");
}
Console.WriteLine("End");
Console.ReadLine();
}
答案 1 :(得分:1)
你的代码中有一些错误......
private void button1_Click(object sender, EventArgs e)
{
DateTime t1 = DateTime.Now;
DateTime t2 = Convert.ToDateTime(textBox1.Text);
int i = DateTime.Compare(t1, t2);
if (i < 1)
{
}
}
现在,如果 t1 小于 t2 ,变量 i 将小于零。
如果t1等于t2,则结果为零。
最后,如果 t1 大于 t2 ,结果将大于零。