|
|
|
@ -16,10 +16,13 @@
|
|
|
|
|
namespace Service::Time {
|
|
|
|
|
|
|
|
|
|
static void PosixToCalendar(u64 posix_time, CalendarTime& calendar_time,
|
|
|
|
|
CalendarAdditionalInfo& additional_info, const TimeZoneRule& /*rule*/) {
|
|
|
|
|
CalendarAdditionalInfo& additional_info,
|
|
|
|
|
[[maybe_unused]] const TimeZoneRule& /*rule*/) {
|
|
|
|
|
const std::time_t time(posix_time);
|
|
|
|
|
const std::tm* tm = std::localtime(&time);
|
|
|
|
|
if (tm == nullptr) {
|
|
|
|
|
calendar_time = {};
|
|
|
|
|
additional_info = {};
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
calendar_time.year = tm->tm_year + 1900;
|
|
|
|
@ -35,7 +38,8 @@ static void PosixToCalendar(u64 posix_time, CalendarTime& calendar_time,
|
|
|
|
|
additional_info.utc_offset = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
u64 CalendarToPosix(const CalendarTime& calendar_time, const TimeZoneRule& /*rule*/) {
|
|
|
|
|
static u64 CalendarToPosix(const CalendarTime& calendar_time,
|
|
|
|
|
[[maybe_unused]] const TimeZoneRule& /*rule*/) {
|
|
|
|
|
std::tm time{};
|
|
|
|
|
time.tm_year = calendar_time.year - 1900;
|
|
|
|
|
time.tm_mon = calendar_time.month - 1;
|
|
|
|
|