From bad80da309d5754e888c0da72c5824cdc2e4ccbf Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Mon, 19 Dec 2022 02:09:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0YJ=E5=8E=86=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Helper/Utils.cs | 66 ++++++++++++++++++++++++ src/MaaWpfGui/MaaWpfGui.csproj | 1 + src/MaaWpfGui/Main/AsstProxy.cs | 2 +- src/MaaWpfGui/Main/SettingsViewModel.cs | 4 +- src/MaaWpfGui/Main/TaskQueueViewModel.cs | 24 ++++----- 5 files changed, 82 insertions(+), 15 deletions(-) create mode 100644 src/MaaWpfGui/Helper/Utils.cs diff --git a/src/MaaWpfGui/Helper/Utils.cs b/src/MaaWpfGui/Helper/Utils.cs new file mode 100644 index 0000000000..b95ba5a92d --- /dev/null +++ b/src/MaaWpfGui/Helper/Utils.cs @@ -0,0 +1,66 @@ +// +// MaaWpfGui - A part of the MaaCoreArknights project +// Copyright (C) 2021 MistEO and Contributors +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY +// + +using System; + +namespace MaaWpfGui +{ + public static class Utils + { + /// + /// 获取yj历时间 + /// + /// yj历时间 + public static DateTime GetYJTimeNow() + { + return DateTime.UtcNow.AddHours(4); + } + + /// + /// 获取yj历时间字符串 + /// + /// yj历时间的字符串表示形式 + public static string GetYJTimeNowString() + { + return GetYJTimeNow().ToString(); + } + + /// + /// 获取yj历日期 + /// + /// yj历日期 + public static DateTime GetYJTimeDate() + { + return GetYJTimeNow().Date; + } + + /// + /// 获取yj历日期字符串 + /// + /// yj历日期的字符串表示形式 + public static string GetYJTimeDateString() + { + return GetYJTimeDate().ToString(); + } + + /// + /// 将日期转换为yj历日期 + /// + /// + /// yj历格式的时间 + public static DateTime ToYJTime(DateTime dt) + { + return dt.AddHours(4); + } + } +} diff --git a/src/MaaWpfGui/MaaWpfGui.csproj b/src/MaaWpfGui/MaaWpfGui.csproj index face25fa5e..1508a6ac98 100644 --- a/src/MaaWpfGui/MaaWpfGui.csproj +++ b/src/MaaWpfGui/MaaWpfGui.csproj @@ -103,6 +103,7 @@ MSBuild:Compile Designer + diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index aae571ac4d..95ffedab1b 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -500,7 +500,7 @@ namespace MaaWpfGui } else if (taskChain == "Mall") { - settingsModel.LastCreditFightTaskTime = DateTime.UtcNow.AddHours(4).Date.ToString(); + settingsModel.LastCreditFightTaskTime = Utils.GetYJTimeDateString(); } mainModel.AddLog(Localization.GetString("CompleteTask") + taskChain); diff --git a/src/MaaWpfGui/Main/SettingsViewModel.cs b/src/MaaWpfGui/Main/SettingsViewModel.cs index 31528878bc..6fefe2ac5b 100644 --- a/src/MaaWpfGui/Main/SettingsViewModel.cs +++ b/src/MaaWpfGui/Main/SettingsViewModel.cs @@ -1032,7 +1032,7 @@ namespace MaaWpfGui } /* 访问好友设置 */ - private string _lastCreditFightTaskTime = ViewStatusStorage.Get("Visit.LastCreditFightTaskTime", DateTime.UtcNow.AddHours(4).Date.AddDays(-1).ToString()); + private string _lastCreditFightTaskTime = ViewStatusStorage.Get("Visit.LastCreditFightTaskTime", Utils.GetYJTimeDate().AddDays(-1).ToString()); public string LastCreditFightTaskTime { @@ -1053,7 +1053,7 @@ namespace MaaWpfGui { get { - if (DateTime.UtcNow.AddHours(4).Date > DateTime.Parse(LastCreditFightTaskTime).Date) + if (Utils.GetYJTimeDate() > DateTime.Parse(LastCreditFightTaskTime).Date) { return _creditFightTaskEnabled; } diff --git a/src/MaaWpfGui/Main/TaskQueueViewModel.cs b/src/MaaWpfGui/Main/TaskQueueViewModel.cs index a3ff975969..09dc36416d 100644 --- a/src/MaaWpfGui/Main/TaskQueueViewModel.cs +++ b/src/MaaWpfGui/Main/TaskQueueViewModel.cs @@ -309,26 +309,26 @@ namespace MaaWpfGui private bool NeedToUpdateDatePrompt() { - var now = DateTime.UtcNow.AddHours(8); + var now = Utils.GetYJTimeNow(); var hour = now.Hour; var min = now.Minute; - if (hour >= 0 && hour < 4) - { - now = now.AddDays(-1); - } - if (min == 0 && hour == 16) + // yj历的16点 + if (min == 0 && hour == 12) { return true; } - else if (_curDayOfWeek == now.DayOfWeek) - { - return false; - } else { - _curDayOfWeek = now.DayOfWeek; - return true; + if (_curDayOfWeek == now.DayOfWeek) + { + return false; + } + else + { + _curDayOfWeek = now.DayOfWeek; + return true; + } } }