3
0
Fork 0
forked from suyu/suyu

time_zone: Use std::chrono::seconds for strong typing.

This commit is contained in:
bunnei 2020-05-12 18:44:07 -04:00
parent 3c8cd62b0d
commit bba54e1880
3 changed files with 5 additions and 4 deletions

View file

@ -37,13 +37,13 @@ static int ConvertOsTimeZoneOffsetToInt(const std::string& timezone) {
}
}
int GetCurrentOffsetSeconds() {
std::chrono::seconds GetCurrentOffsetSeconds() {
const int offset{ConvertOsTimeZoneOffsetToInt(GetOsTimeZoneOffset())};
int seconds{(offset / 100) * 60 * 60}; // Convert hour component to seconds
seconds += (offset % 100) * 60; // Convert minute component to seconds
return seconds;
return std::chrono::seconds{seconds};
}
} // namespace Common::TimeZone

View file

@ -4,6 +4,7 @@
#pragma once
#include <chrono>
#include <string>
namespace Common::TimeZone {
@ -12,6 +13,6 @@ namespace Common::TimeZone {
std::string GetDefaultTimeZone();
/// Gets the offset of the current timezone (from the default), in seconds
int GetCurrentOffsetSeconds();
std::chrono::seconds GetCurrentOffsetSeconds();
} // namespace Common::TimeZone

View file

@ -25,7 +25,7 @@ static std::chrono::seconds GetSecondsSinceEpoch() {
static s64 GetExternalTimeZoneOffset() {
// With "auto" timezone setting, we use the external system's timezone offset
if (Settings::GetTimeZoneString() == "auto") {
return Common::TimeZone::GetCurrentOffsetSeconds();
return Common::TimeZone::GetCurrentOffsetSeconds().count();
}
return 0;
}