ASP.NET Core中如何获取当前星期对应的数字编号
实现方案
C# 内置的DayOfWeek枚举底层对应整数的默认规则为:周日=0,周一=1,周二=2...周六=6,和你需要的「周一=1、周日=7」规则仅周日的取值不同,做简单换算即可实现需求。
方案1:直接单行计算
直接通过三目运算符判断处理周日的特殊情况,代码如下:
// 直接调用即可获取符合要求的星期数字 int weekDay = (int)DateTime.Now.DayOfWeek == 0 ? 7 : (int)DateTime.Now.DayOfWeek;
方案2:封装为扩展方法(推荐复用)
如果多个地方需要用到这个转换,可以封装为DateTime的扩展方法,全局调用更方便:
// 定义扩展方法 public static class DateTimeExtension { public static int ToWeekDayNumber(this DateTime dt) { return (int)dt.DayOfWeek == 0 ? 7 : (int)dt.DayOfWeek; } } // 调用示例 int weekDay = DateTime.Now.ToWeekDayNumber();
内容的提问来源于stack exchange,提问作者MaxK123
相关产品推荐
相关产品推荐

