所以我有'dateborrowed'和'datereturned'的gridview。我想要的是该计划将计算'dateborrowed'和'datereturned'之间的天数,例如'dateborrowed'= 2011年4月1日 - 'datereturned'= 2011年4月30日= 29天之间。此外,我希望值自动插入记录'daysibetween'。那我该怎么办呢?
非常感谢帮助。在此先感谢!!
答案 0 :(得分:4)
有几种方法可以实现这个目标
非常简洁的方式
(a - b).TotalDays
取自 Calculate difference between two dates (number of days)?
DateTime d1=DateTime.MinValue;
DateTime d2=DateTime.MaxValue;
TimeSpan span=d2-d1;
Console.WriteLine( "There're {0} days between {1} and {2}" , span.TotalDays, d1.ToString(), d2.ToString() );
OR
private int GetDaysBetweenDates(DateTime firstDate, DateTime secondDate)
{
return secondDate.Subtract(firstDate).Days;
}
它们全部来自MSDN中的this thread。
计算完成后,将其添加到数据库是UPDATE
查询。
答案 1 :(得分:1)
我知道这不是您可能正在寻找的答案,但根据良好的数据库设计,您不应该在表中存储计算的DaysInBetween。您可以通过使用各种方法(包括Rahhiru的答案中的那些方法)随时计算该值。
如果您使用的是SQL Server,则可以使用DateDiff函数计算Select语句中的天数:DateDiff(day, dateBorrowed, dateReturned) as DaysInBetween
。
就此而言,您可以在表格中使用computed column使其看起来像一个实际的列,即使它会在您检索它时即时计算。