查找两个日期文本框之间的差异
本文关键字:之间 文本 日期 两个 查找 | 更新日期: 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);