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

时间:2014-03-20 14:44:23

标签: c#

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

borrowed_date_txt,return_date_txt

我想比较两个文本框,找出它们之间的区别,以及日期   borrowed_date_txt 大于 return_date_txt 的日期我想将 return_date_txt 背景设为红色?

4 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

你应该convert string to date 然后你可以试试这个:

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";

答案 2 :(得分:0)

您可以使用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    
}

答案 3 :(得分:0)

类似的东西应该对您有用。

System.TimeSpan = EndDate.Subtract(StartDate)

为您提供以天-小时-秒-毫秒为单位的差异。如果只希望天数之间的差异,可以使用Days类的System.TimeSpan属性来指定。

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);