我在SQL Server中有一个StaffLeave
表,其中包含以下列:DateStarted
,DaysTaken
,DaysOnLeave
和LeaveStatus
。
工作人员请假后,当前日期应继续在DaysOnLeave列中计算请假天数,并且DaysTaken==DaysOnLeave
的请假状态应更改。
到目前为止,我已经完成了这一工作,我使用DateStarted
从数据库中读取了ExecuteReader
并将日期存储到变量中。然后,我将其与当前日期进行比较。如果当前日期更大,则我将DaysOnLeave
加1。
在检查第二天,第三天,第四天等等时,我遇到了这个问题,当前日期将被增加2,3,4天,等等。
答案 0 :(得分:3)
也许使用:
var daysOnLeave = (DateTime.Now -DateStarted).TotalDays;
答案 1 :(得分:1)
var timeNow = DateTime.Now;
var holidays = (timeNow - DateStarted).TotalDays;
使用假期(或者在您的情况下为DaysOnLeave)并增加DaysOnLeave++;