From add3437bcfcfeeabaa79097b751040eca5bc5106 Mon Sep 17 00:00:00 2001 From: chenchun Date: Fri, 16 Aug 2024 15:31:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=AF=8F=E5=91=A8?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E8=BF=87=E6=9C=9F=E6=97=B6=E9=97=B4=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Enums/AssignmentTypeEnum.cs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/AssignmentTypeEnum.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/AssignmentTypeEnum.cs index 84e00060..1846716f 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/AssignmentTypeEnum.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/AssignmentTypeEnum.cs @@ -29,10 +29,18 @@ public static class AssignmentTypeExtension case AssignmentTypeEnum.Daily: return DateTime.Now.Date.AddDays(1); case AssignmentTypeEnum.Weekly: - DateTime today = DateTime.Now; // 获取当前日期和时间 - int daysUntilNextMonday = ((int)DayOfWeek.Monday - (int)today.DayOfWeek + 7) % 7 + 7; - DateTime nextMonday = today.AddDays(daysUntilNextMonday).Date; // 添加天数并将时间设为 0 点 - return nextMonday; + DateTime currentDate = DateTime.Now; // 获取当前日期和时间 + // 计算今天是周几 + int daysUntilNextMonday = ((int)DayOfWeek.Monday - (int)currentDate.DayOfWeek + 7) % 7; + // 如果今天是周一,则获取下下周一 + if (daysUntilNextMonday == 0) + { + daysUntilNextMonday = 7; + } + // 计算下个周一的日期 + DateTime nextMonday = currentDate.AddDays(daysUntilNextMonday); + // 返回下个周一的凌晨 0 点时间 + return nextMonday.Date; default: throw new ArgumentOutOfRangeException(nameof(assignmentType), assignmentType, null); }