diff options
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Time/Clock')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Time/Clock/Types/TimeSpanType.cs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Time/Clock/Types/TimeSpanType.cs b/Ryujinx.HLE/HOS/Services/Time/Clock/Types/TimeSpanType.cs index c336ad41..89497d82 100644 --- a/Ryujinx.HLE/HOS/Services/Time/Clock/Types/TimeSpanType.cs +++ b/Ryujinx.HLE/HOS/Services/Time/Clock/Types/TimeSpanType.cs @@ -1,4 +1,5 @@ -using System.Runtime.InteropServices; +using System; +using System.Runtime.InteropServices; namespace Ryujinx.HLE.HOS.Services.Time.Clock { @@ -9,6 +10,8 @@ namespace Ryujinx.HLE.HOS.Services.Time.Clock public static readonly TimeSpanType Zero = new TimeSpanType(0); + private static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + public long NanoSeconds; public TimeSpanType(long nanoSeconds) @@ -21,6 +24,16 @@ namespace Ryujinx.HLE.HOS.Services.Time.Clock return NanoSeconds / NanoSecondsPerSecond; } + public TimeSpanType AddSeconds(long seconds) + { + return new TimeSpanType(NanoSeconds + (seconds * NanoSecondsPerSecond)); + } + + public bool IsDaylightSavingTime() + { + return UnixEpoch.AddSeconds(ToSeconds()).ToLocalTime().IsDaylightSavingTime(); + } + public static TimeSpanType FromSeconds(long seconds) { return new TimeSpanType(seconds * NanoSecondsPerSecond); |
