From 1ad03cc2f91d75e80fc3dc42e2ac1fadc9a2bfec Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 11 二月 2026 16:10:43 +0800
Subject: [PATCH] Merge branch 'master' into h5version
---
Main/Utility/TimeUtility.cs | 120 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 87 insertions(+), 33 deletions(-)
diff --git a/Main/Utility/TimeUtility.cs b/Main/Utility/TimeUtility.cs
index 5889fb3..587220d 100644
--- a/Main/Utility/TimeUtility.cs
+++ b/Main/Utility/TimeUtility.cs
@@ -100,6 +100,15 @@
}
}
+ public static int AllSecondsCrossServer
+ {
+ get
+ {
+ TimeSpan t = CrossServerNow - OriginalTime;
+ return (int)t.TotalSeconds;
+ }
+ }
+
//1骞翠腑鐨勭鍑犲懆锛屼互鏈嶅姟绔负鍑嗭紝python鍜宑#绠楀嚭鏉ヤ笉涓�鏍�
public static int WeekOfYear
{
@@ -184,8 +193,11 @@
OnServerTimeRefresh();
}
- s_CrossServerTime = Convert.ToDateTime(vNetData.CrossServerTime);
- _crossCheckTime = Time.realtimeSinceStartup;
+ if (!string.IsNullOrEmpty(vNetData.CrossServerTime))
+ {
+ s_CrossServerTime = Convert.ToDateTime(vNetData.CrossServerTime);
+ _crossCheckTime = Time.realtimeSinceStartup;
+ }
TimeDownMgr.Instance.Begin(TimeDownMgr.CoolTimeType.SyncServerTime, 60, (float tick) =>
{
@@ -194,7 +206,7 @@
}
public static event Action OnServerOpenDayRefresh;
- public static void OnRefreshServerOpenDay(HA005_tagOpenServerDay package)
+ public static void OnRefreshServerOpenDay(HA103_tagMCOpenServerDay package)
{
{
OpenDay = package.Day;
@@ -249,7 +261,7 @@
int hours = _seconds / 3600;
int mins = _seconds % 3600 / 60;
int seconds = _seconds % 60;
- return StringUtility.Contact(hours.ToString("D2"), ":", mins.ToString("D2"), ":", seconds.ToString("D2"));
+ return StringUtility.Concat(hours.ToString("D2"), ":", mins.ToString("D2"), ":", seconds.ToString("D2"));
}
@@ -264,15 +276,15 @@
int seconds = _seconds % 60;
if (hours > 0)
{
- return StringUtility.Contact(hours, Language.Get("L1072"), mins, Language.Get("L1073"), seconds, Language.Get("L1075"));
+ return StringUtility.Concat(hours.ToString(), Language.Get("L1072"), mins.ToString(), Language.Get("L1073"), seconds.ToString(), Language.Get("L1075"));
}
else if (mins > 0)
{
- return StringUtility.Contact(mins, Language.Get("L1073"), seconds, Language.Get("L1075"));
+ return StringUtility.Concat(mins.ToString(), Language.Get("L1073"), seconds.ToString(), Language.Get("L1075"));
}
else
{
- return StringUtility.Contact(seconds, Language.Get("L1075"));
+ return StringUtility.Concat(seconds.ToString(), Language.Get("L1075"));
}
}
@@ -283,7 +295,7 @@
{
int mins = _seconds % 3600 / 60;
int seconds = _seconds % 60;
- return StringUtility.Contact(mins.ToString("D2"), ":", seconds.ToString("D2"));
+ return StringUtility.Concat(mins.ToString("D2"), ":", seconds.ToString("D2"));
}
//渚嬪瓙锛涗笉瓒崇殑涓嶆樉绀� 濡�0澶�0:xx:xx:,鏄剧ず涓簒x:xx
@@ -294,7 +306,7 @@
int hours = _seconds % 86400 / 3600;
int mins = _seconds % 3600 / 60;
int seconds = _seconds % 60;
- return StringUtility.Contact(days > 0 ? days.ToString() : string.Empty,
+ return StringUtility.Concat(days > 0 ? days.ToString() : string.Empty,
days > 0 ? Language.Get("L1074") + " " : string.Empty, hours > 0 ? hours.ToString() : string.Empty,
hours > 0 ? ":" : string.Empty, mins >= 0 ? mins.ToString("D2") : string.Empty,
mins >= 0 ? ":" : string.Empty, seconds >= 0 ? seconds.ToString("D2") : string.Empty,
@@ -311,19 +323,19 @@
int days = _seconds / 86400;
if (days > 0)
{
- return StringUtility.Contact(days, Language.Get("L1074"));
+ return StringUtility.Concat(days.ToString(), Language.Get("L1074"));
}
int hours = _seconds % 86400 / 3600;
if (hours > 0)
{
- return StringUtility.Contact(hours, Language.Get("Hour"));
+ return StringUtility.Concat(hours.ToString(), Language.Get("Hour"));
}
int mins = Mathf.CeilToInt(_seconds % 3600 / 60.0f);
if (mins > 0)
{
- return StringUtility.Contact(mins, Language.Get("Minute"));
+ return StringUtility.Concat(mins.ToString(), Language.Get("Minute"));
}
- return StringUtility.Contact(1, Language.Get("Minute"));
+ return StringUtility.Concat("1", Language.Get("Minute"));
}
@@ -364,9 +376,9 @@
int seconds = _seconds % 60;
if (days > 0)
{
- return StringUtility.Contact(days, Language.Get("L1074"), " ", hours.ToString("D2"), ":", mins.ToString("D2"), ":", seconds.ToString("D2"));
+ return StringUtility.Concat(days.ToString(), Language.Get("L1074"), " ", hours.ToString("D2"), ":", mins.ToString("D2"), ":", seconds.ToString("D2"));
}
- return StringUtility.Contact(hours.ToString("D2"), ":", mins.ToString("D2"), ":", seconds.ToString("D2"));
+ return StringUtility.Concat(hours.ToString("D2"), ":", mins.ToString("D2"), ":", seconds.ToString("D2"));
}
//鏋佺畝鏄剧ず
@@ -384,23 +396,23 @@
{
if (hours == 0)
{
- return StringUtility.Contact(days, Language.Get("L1074"));
+ return StringUtility.Concat(days.ToString(), Language.Get("L1074"));
}
- return StringUtility.Contact(days, Language.Get("L1074"), hours, Language.Get("L1072"));
+ return StringUtility.Concat(days.ToString(), Language.Get("L1074"), hours.ToString(), Language.Get("L1072"));
}
else if (hours > 0)
{
if (mins == 0)
{
- return StringUtility.Contact(hours, Language.Get("L1072"));
+ return StringUtility.Concat(hours.ToString(), Language.Get("L1072"));
}
- return StringUtility.Contact(hours, Language.Get("L1072"), mins, Language.Get("L1073"));
+ return StringUtility.Concat(hours.ToString(), Language.Get("L1072"), mins.ToString(), Language.Get("L1073"));
}
else if (mins > 0)
{
- return StringUtility.Contact(mins, Language.Get("L1073"));
+ return StringUtility.Concat(mins.ToString(), Language.Get("L1073"));
}
- return StringUtility.Contact(seconds, Language.Get("L1075"));
+ return StringUtility.Concat(seconds.ToString(), Language.Get("L1075"));
}
@@ -416,18 +428,18 @@
int seconds = _seconds % 60;
if (days > 0)
{
- return StringUtility.Contact(days, Language.Get("L1074"), hours.ToString("D2"), Language.Get("L1072"), mins.ToString("D2"), Language.Get("L1073"));
+ return StringUtility.Concat(days.ToString(), Language.Get("L1074"), hours.ToString("D2"), Language.Get("L1072"), mins.ToString("D2"), Language.Get("L1073"));
}
- return StringUtility.Contact(hours.ToString("D2"), ":", mins.ToString("D2"), ":", seconds.ToString("D2"));
+ return StringUtility.Concat(hours.ToString("D2"), ":", mins.ToString("D2"), ":", seconds.ToString("D2"));
}
- //渚嬪瓙
+ //渚嬪瓙 澶╁拰灏忔椂 鍚戜笂鍙栨暣 濡�1澶�1灏忔椂 鏄剧ず涓�2澶�
//x澶�
//x鏃�
//x鍒�
//x绉�
- public static string SecondsToConsumeRebate(int _seconds)
+ public static string SecondsToOnlyTime(int _seconds)
{
float days = (float)_seconds / 86400;
float hours = (float)_seconds % 86400 / 3600;
@@ -435,19 +447,19 @@
float seconds = (float)_seconds % 60;
if (days >= 1)
{
- return StringUtility.Contact(Mathf.CeilToInt(days), Language.Get("L1074"));
+ return StringUtility.Concat(Mathf.CeilToInt(days).ToString(), Language.Get("L1074"));
}
else if (hours >= 1)
{
- return StringUtility.Contact(Mathf.CeilToInt(hours), Language.Get("L1072"));
+ return StringUtility.Concat(Mathf.CeilToInt(hours).ToString(), Language.Get("L1072"));
}
else if (mins >= 1)
{
- return StringUtility.Contact(mins, Language.Get("L1073"));
+ return StringUtility.Concat(mins.ToString(), Language.Get("L1073"));
}
else
{
- return StringUtility.Contact(seconds, Language.Get("L1075"));
+ return StringUtility.Concat(seconds.ToString(), Language.Get("L1075"));
}
}
@@ -469,6 +481,12 @@
{
var now = ServerNow;
return new DateTime(now.Year, now.Month, now.Day);
+ }
+
+ public static int GetTodayStartTick()
+ {
+ var now = ServerNow;
+ return (int)(GetTodayStartTime() - OriginalTime).TotalSeconds;
}
/// <summary>
@@ -496,13 +514,13 @@
}
- // 鍒�10鐐硅繕瑕佸灏戠锛屽鏋滃凡缁忚繃浜�10鐐癸紝杩斿洖0
- public static int GetToTenClockSeconds()
+ // 浠婃棩鍒皒鐐硅繕瑕佸灏戠锛屽鏋滃凡缁忚繃浜唜鐐癸紝杩斿洖0
+ public static int GetToTheHourSeconds(int hour=10)
{
var now = ServerNow;
- if (now.Hour < 10)
+ if (now.Hour < hour)
{
- return (int)(ServerNow - new DateTime(now.Year, now.Month, now.Day, 10, 0, 0)).TotalSeconds;
+ return (int)(new DateTime(now.Year, now.Month, now.Day, hour, 0, 0) - ServerNow).TotalSeconds;
}
return 0;
}
@@ -532,4 +550,40 @@
{
return (int)(GetTodayEndTime() - ServerNow).TotalSeconds;
}
+
+ #region 璺ㄦ湇鍜屾湰鏈嶅叕鐢ㄦ帴鍙�
+ //褰撴湁鐨勫姛鑳戒細浠庢湰鏈嶅姛鑳藉彉鎴愯法鏈嶅姛鑳界殑鏃跺�欑粺涓�鐢ㄨ繖浜涙帴鍙e鐞嗘椂闂�
+ //鍚勮嚜鐨勫姛鑳戒紶鑷繁鐨剒oneID
+
+ // 鑾峰彇褰撳墠鏃堕棿, 鍏細璺ㄥ尯鍓嶅彇鏈湇鏃堕棿锛岃法鏈嶅悗鍙栬法鏈嶆椂闂�
+ public static DateTime GetCommServerNow(int zoneID = 0)
+ {
+ if (zoneID == 0)
+ {
+ return ServerNow;
+ }
+ else
+ {
+ return CrossServerNow;
+ }
+ }
+
+ public static int GetCommServerTick(int zoneID = 0)
+ {
+ if (zoneID == 0)
+ {
+ return AllSeconds;
+ }
+ else
+ {
+ return AllSecondsCrossServer;
+ }
+ }
+
+ public static DateTime GetCommTodayEndTime(int zoneID = 0)
+ {
+ var now = GetCommServerNow(zoneID).AddDays(1);
+ return new DateTime(now.Year, now.Month, now.Day);
+ }
+ #endregion
}
--
Gitblit v1.8.0