查找两个日期文本框之间的差异

本文关键字:之间 文本 日期 两个 查找 | 更新日期: 2023-09-27 17:51:09

在我的c#表单中,我有两个日期文本框,一个用于借阅日期,另一个用于归还日期

borrowed_date_txt, return_date_txt

我想比较两个文本框,找出它们之间的差异,如果日期borrowed_date_txt大于日期return_date_txt我想使return_date_txt背景红色?

查找两个日期文本框之间的差异

将它们解析为DateTime s和TimeSpan s,并对它们进行逻辑/比较。然后在结果中调用ToString(),您将获得默认格式的日期和时间。DateTime还提供了基于日期的非常方便的属性。

见:http://msdn.microsoft.com/en-us/library/system.datetime (v = vs.110) . aspx

编辑:我假设这是一个Windows窗体,而不是一个web窗体。如果网页是你需要的,我会修改的。

您可以使用DateTime.Compare

int idiff = DateTime.Compare(DateTime.Parse(borrowed_date_txt), DateTime.Parse(return_date_txt));
if (idiff > 0) //borrowed_date_txt is greater than the date of return_date_txt 
{
//Do what you need    
}

您应该将字符串转换为日期那么你可以试试这个:

DateTime date1 = Convert.ToDateTime(borrowed_date_txt);
      DateTime date2 = Convert.ToDateTime(return_date_txt);
      int result = DateTime.Compare(date1, date2);
      string relationship;
      if (result < 0)
         relationship = "is earlier than";
      else if (result == 0)
         relationship = "is the same time as";         
      else
         relationship = "is later than";

像这样的东西应该可以为您工作。

System.TimeSpan = EndDate.Subtract(StartDate)

给出了天-小时-秒-毫秒的差异。如果你只想要天数的差异,你可以通过使用System.TimeSpan类的Days属性来指定。

DateTime StartDate;
DateTime EndDate;
TimeSpan Difference;
StartDate = Convert.ToDateTime(txtStartDate.Text.ToString());
EndDate = Convert.ToDateTime(txtEndDate.Text.ToString());
Difference = EndDate.Subtract(StartDate);
lblDifference.Text = Convert.ToString(Difference.Days);