星期一的ISO 8601 standard个工作日1到星期日的7个星期。 给定1到7的工作日数字,您如何计算下一个/上一个工作日的数量?
E.g。给定1,下一个工作日数字为2,前一个数字为7。
答案 0 :(得分:0)
工作日数字可以通过简单的加法和模数来计算。公式如下:
下周工作日
(工作日编号%7)+ 1
上一个工作日编号
((工作日编号+5)%7)+ 1
使用C#和NodaTime的IsoDayOfWeek,您可以创建两个简单的扩展方法,如:
public static IsoDayOfWeek NextDay( this IsoDayOfWeek dayOfWeek ) => (IsoDayOfWeek)( (int)dayOfWeek % 7 + 1 );
public static IsoDayOfWeek PreviousDay( this IsoDayOfWeek dayOfWeek ) => (IsoDayOfWeek)( (int)( dayOfWeek + 5 ) % 7 + 1 );