From 09d3a520b445bddfc3a7781fa99cf0e3411ea8fc Mon Sep 17 00:00:00 2001 From: liufei Date: Thu, 23 Dec 2021 13:09:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dcron=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F=E5=BE=85=E5=8A=9E=20=E6=97=A0=E9=99=90=E6=8F=90?= =?UTF-8?q?=E9=86=92=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Control/Other/BacklogNotificatin.xaml.cs | 14 ++++++++------ Control/UserControls/ToDo/TodoControl.xaml | 3 +-- Control/UserControls/ToDo/TodoControl.xaml.cs | 15 --------------- Resource/Dictionary/CommonStyle.xaml | 19 ++++++++++--------- 4 files changed, 19 insertions(+), 32 deletions(-) diff --git a/Control/Other/BacklogNotificatin.xaml.cs b/Control/Other/BacklogNotificatin.xaml.cs index b00460d..6e3cbff 100644 --- a/Control/Other/BacklogNotificatin.xaml.cs +++ b/Control/Other/BacklogNotificatin.xaml.cs @@ -40,13 +40,15 @@ namespace GeekDesk.Control.Other if (info.ExecType == TodoTaskExecType.CRON) { CronExpression exp = new CronExpression(info.Cron); - DateTime dtNow = DateTime.Now; - DateTimeOffset ddo = DateTime.SpecifyKind(dtNow, DateTimeKind.Local); - string nextExecTime = ddo.LocalDateTime.ToString("yyyy-MM-dd HH:mm:ss"); - info.ExeTime = nextExecTime; + DateTime nowTime = DateTime.Now; - DateTime nextTime = ddo.LocalDateTime; - TimeSpan ts = nextTime.Subtract(dtNow); + //计算下次执行时间 + DateTime nextTime = DateTime.SpecifyKind(exp.GetNextValidTimeAfter(nowTime).Value.LocalDateTime, DateTimeKind.Local); + + string nextTimeStr = nextTime.ToString("yyyy-MM-dd HH:mm:ss"); + info.ExeTime = nextTimeStr; + + TimeSpan ts = nextTime.Subtract(nowTime); int minutes = (int)Math.Ceiling(ts.TotalMinutes); if (minutes < 0) { diff --git a/Control/UserControls/ToDo/TodoControl.xaml b/Control/UserControls/ToDo/TodoControl.xaml index f614252..6c92c02 100644 --- a/Control/UserControls/ToDo/TodoControl.xaml +++ b/Control/UserControls/ToDo/TodoControl.xaml @@ -27,11 +27,10 @@ + + + + + + +