只想获取年份中每个月的星期一,星期三和星期六的日期。我试图用这种方式来管理它;
DateTime today = DateTime.UtcNow;
int deltaMonday = DayOfWeek.Monday - today.DayOfWeek;
var monday = today.AddDays(deltaMonday);
int deltaWednesday = DayOfWeek.Wednesday - today.DayOfWeek;
var wednesday = today.AddDays(deltaWednesday);
int deltaSaturday = DayOfWeek.Saturday - today.DayOfWeek;
var saturday = today.AddDays(deltaSaturday);
但是如果这个(星期)星期一过世了,我想显示下一个(例如)星期一日期,同样也要显示星期三和星期六。如果(当前)月份已过,则应显示下个月的日期。有没有更短的方法来获取或更改我的代码?
试试这个 -
DateTime today = DateTime.UtcNow;
int deltaMonday = DayOfWeek.Monday - today.DayOfWeek;
var monday = today.AddDays(deltaMonday += deltaMonday < 0 ? 7 : 0);
int deltaWednesday = DayOfWeek.Wednesday - today.DayOfWeek;
var wednesday = today.AddDays(deltaWednesday += deltaWednesday < 0 ? 7 : 0);
int deltaSaturday = DayOfWeek.Saturday - today.DayOfWeek;
var saturday = today.AddDays(deltaSaturday += deltaSaturday < 0 ? 7 : 0);
简而言之,如果一天过去了,那是负数,那么只需增加7天即可。
如果您需要检查数月,请执行类似的操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句