两个工作日之间的天数差异

Tim*_*ter 6 .net c# calendar date

这听起来很容易,但我不明白这一点.

那么,DayOfWeeks当第一个是起点时,最简单的方法是获得两天之间的天数?如果下一个工作日早些时候,应该考虑在下周.

星期几的枚举开头Sunday(0)和结尾Saturday(6).

 1. Monday    = 1
 2. Thursday  = 4

Result: 4 - 1 = 3

 1. Thursday  = 4
 2. Monday    = 1
// obviously a Math.Abs is helpful
Result: Math.Abs(1 - 4) = 3
Run Code Online (Sandbox Code Playgroud)

但这个结果是错误的,因为星期四和星期一(下周)之间有4天.

mbe*_*ish 20

添加7,然后是mod 7:

(7 + (1 - 4)) % 7
Run Code Online (Sandbox Code Playgroud)

例如:

var weekDay1  = DayOfWeek.Thursday;
var weeekDay2 = DayOfWeek.Monday;
var daysDiff  = (7 + (weeekDay2 - weekDay1)) % 7;
Run Code Online (Sandbox Code Playgroud)

  • +1 这也是我的想法。我被这一切的 abs() 所吸引。 (2认同)