diff options
author | bunnei <bunneidev@gmail.com> | 2020-05-11 23:55:25 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2020-05-11 23:55:25 +0200 |
commit | 3c8cd62b0db115a4812d8de81b70af72565bbdd7 (patch) | |
tree | e98500d894d696e823613b9b8373ebd866999572 /src/core/hle/service/time/time_manager.cpp | |
parent | common: Add module to get the current time zone. (diff) | |
download | yuzu-3c8cd62b0db115a4812d8de81b70af72565bbdd7.tar yuzu-3c8cd62b0db115a4812d8de81b70af72565bbdd7.tar.gz yuzu-3c8cd62b0db115a4812d8de81b70af72565bbdd7.tar.bz2 yuzu-3c8cd62b0db115a4812d8de81b70af72565bbdd7.tar.lz yuzu-3c8cd62b0db115a4812d8de81b70af72565bbdd7.tar.xz yuzu-3c8cd62b0db115a4812d8de81b70af72565bbdd7.tar.zst yuzu-3c8cd62b0db115a4812d8de81b70af72565bbdd7.zip |
Diffstat (limited to 'src/core/hle/service/time/time_manager.cpp')
-rw-r--r-- | src/core/hle/service/time/time_manager.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/core/hle/service/time/time_manager.cpp b/src/core/hle/service/time/time_manager.cpp index 9d6c55865..54f4a3f04 100644 --- a/src/core/hle/service/time/time_manager.cpp +++ b/src/core/hle/service/time/time_manager.cpp @@ -5,6 +5,7 @@ #include <chrono> #include <ctime> +#include "common/time_zone.h" #include "core/hle/service/time/ephemeral_network_system_clock_context_writer.h" #include "core/hle/service/time/local_system_clock_context_writer.h" #include "core/hle/service/time/network_system_clock_context_writer.h" @@ -21,8 +22,16 @@ static std::chrono::seconds GetSecondsSinceEpoch() { Settings::values.custom_rtc_differential; } +static s64 GetExternalTimeZoneOffset() { + // With "auto" timezone setting, we use the external system's timezone offset + if (Settings::GetTimeZoneString() == "auto") { + return Common::TimeZone::GetCurrentOffsetSeconds(); + } + return 0; +} + static s64 GetExternalRtcValue() { - return GetSecondsSinceEpoch().count(); + return GetSecondsSinceEpoch().count() + GetExternalTimeZoneOffset(); } TimeManager::TimeManager(Core::System& system) |