Core/Misc: Handle timezones for hour-specific events specifieds in worldserver.conf

Port From (https://github.com/TrinityCore/TrinityCore/commit/493fe066f6b107a9f356d693c5d37d878d3a63eb)
This commit is contained in:
hondacrx
2022-01-01 16:35:15 -05:00
parent a4c4897b4d
commit 9b3fe829d6
4 changed files with 27 additions and 13 deletions
+13
View File
@@ -120,6 +120,19 @@ public static class Time
return DateTimeToUnixTime((DateTime.Now.Date + new TimeSpan(months + days, hours, 0)));
}
public static long GetLocalHourTimestamp(long time, uint hour, bool onlyAfterTime = true)
{
DateTime timeLocal = UnixTimeToDateTime(time);
timeLocal = new DateTime(timeLocal.Year, timeLocal.Month, timeLocal.Day, 0, 0, 0, timeLocal.Kind);
long midnightLocal = DateTimeToUnixTime(timeLocal);
long hourLocal = midnightLocal + hour * Hour;
if (onlyAfterTime && hourLocal < time)
hourLocal += Day;
return hourLocal;
}
public static string secsToTimeString(ulong timeInSecs, bool shortText = false, bool hoursOnly = false)
{
ulong secs = timeInSecs % Minute;