From 51b0f6ed9f4e1d3bb6f8144470b46908c7699a96 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 11 五月 2026 16:20:37 +0800
Subject: [PATCH] Merge branch 'master' into h5version
---
Main/Utility/TimeUtility.cs | 179 ++++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 126 insertions(+), 53 deletions(-)
diff --git a/Main/Utility/TimeUtility.cs b/Main/Utility/TimeUtility.cs
index 5889fb3..b9db750 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
{
@@ -117,6 +126,12 @@
}
public static int MixOpenDay
+ {
+ get; private set;
+ }
+
+ //寮�鏈嶆椂闂存埑
+ public static int openServerTick
{
get; private set;
}
@@ -159,18 +174,16 @@
}
public static event Action OnCreateRoleTimeRefresh;
- // public static void OnRefreshCreateRoleTime(HA124_tagMCPlayerInfo _package)
- // {
-
-
- // createRoleTime = Convert.ToDateTime(UIHelper.GetTime(_package.CreateRoleTime));
- // createRoleTimeTail = new DateTime(createRoleTime.Year, createRoleTime.Month, createRoleTime.Day);
- // if (OnCreateRoleTimeRefresh != null)
- // {
- // OnCreateRoleTimeRefresh();
- // }
- // Debug.LogFormat("CreateRoleTime {0} CreateDays {1}", createRoleTimeTail, CreateDays);
- // }
+ public static void OnRefreshCreateRoleTime(HA124_tagMCPlayerInfo _package)
+ {
+ createRoleTime = Convert.ToDateTime(UIHelper.GetTime(_package.CreateRoleTime));
+ createRoleTimeTail = new DateTime(createRoleTime.Year, createRoleTime.Month, createRoleTime.Day);
+ if (OnCreateRoleTimeRefresh != null)
+ {
+ OnCreateRoleTimeRefresh();
+ }
+ Debug.LogFormat("CreateRoleTime {0} CreateDays {1}", createRoleTimeTail, CreateDays);
+ }
public static event Action OnServerTimeRefresh;
public static void OnRefreshServerTime(HA004_tagServerDateTime vNetData)
@@ -184,8 +197,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,15 +210,14 @@
}
public static event Action OnServerOpenDayRefresh;
- public static void OnRefreshServerOpenDay(HA005_tagOpenServerDay package)
+ public static void OnRefreshServerOpenDay(HA103_tagMCOpenServerDay package)
{
- {
- OpenDay = package.Day;
- IsMixServer = package.IsMixServer == 1;
- MixOpenDay = package.MixDay;
- openServerDayOfWeek = package.OpenWeekday == 7 ? DayOfWeek.Sunday : (DayOfWeek)package.OpenWeekday;
- WeekOfYear = package.WeekOfYear;
- }
+ OpenDay = package.Day;
+ IsMixServer = package.IsMixServer == 1;
+ MixOpenDay = package.MixDay;
+ openServerDayOfWeek = package.OpenWeekday == 7 ? DayOfWeek.Sunday : (DayOfWeek)package.OpenWeekday;
+ WeekOfYear = package.WeekOfYear;
+ openServerTick = (int)package.OpenServerTime;
OnRefreshServerTime(new HA004_tagServerDateTime()
{
@@ -249,7 +264,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 +279,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 +298,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 +309,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 +326,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 +379,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 +399,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 +431,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 +450,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 +484,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 +517,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 +553,56 @@
{
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);
+ }
+
+ //鑾峰彇褰撳墠鍛ㄥ嚑锛�1-7
+ public static int GetCommonWeekday(int zoneID = 0)
+ {
+ var day = GetCommServerNow(zoneID).DayOfWeek;
+ return day == DayOfWeek.Sunday ? 7 : (int)day;
+ }
+
+ //鏈懆缁撴潫鏃堕棿 绉�
+ public static int GetCommonWeekEndTime(int zoneID = 0)
+ {
+ var now = GetCommServerNow(zoneID);
+ var weekDay = GetCommonWeekday(zoneID);
+ var endDay = now.AddDays(7 - weekDay + 1);
+ return (int)(new DateTime(endDay.Year, endDay.Month, endDay.Day) - now).TotalSeconds;
+ }
+ #endregion
}
--
Gitblit v1.8.0