diff options
| author | CJ Bok <cjbok@ziggo.nl> | 2020-04-17 01:18:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-17 09:18:54 +1000 |
| commit | 0a7c6caedffd59011077b49cd6493c7a841a66f5 (patch) | |
| tree | c32ef5e713d0e7e1b1ec65e7a2f17241d9167398 /Ryujinx.HLE/HOS/Services/Time/Clock | |
| parent | e4ee61d6c3984d108a9fd9e29c86dd154a04d0c5 (diff) | |
System Time Offset Implementation (#1101)
* System Time Offset Implementation
* Addressed @Thog's comments
* Addressed JD's comments
* Addressed @Thog's and @AcK77's comments
* formatting correction
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); |
