计算天数然后更新它以记录ASP.NET C#

时间:2011-05-16 01:58:21

标签: c# asp.net gridview

所以我有'dateborrowed'和'datereturned'的gridview。我想要的是该计划将计算'dateborrowed'和'datereturned'之间的天数,例如'dateborrowed'= 2011年4月1日 - 'datereturned'= 2011年4月30日= 29天之间。此外,我希望值自动插入记录'daysibetween'。那我该怎么办呢?

非常感谢帮助。在此先感谢!!

2 个答案:

答案 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使其看起来像一个实际的列,即使它会在您检索它时即时计算。