diff --git a/src/dpp/discordevents.cpp b/src/dpp/discordevents.cpp index 013f2344ee..72c9596b77 100644 --- a/src/dpp/discordevents.cpp +++ b/src/dpp/discordevents.cpp @@ -286,10 +286,18 @@ time_t ts_not_null(const json* j, const char* keyname) } crossplatform_strptime(timedate.substr(0, 19).c_str(), "%Y-%m-%dT%T", ×tamp); timestamp.tm_isdst = 0; - retval = mktime(×tamp); + #ifndef _WIN32 + retval = timegm(×tamp); + #else + retval = _mkgmtime(×tamp); + #endif } else { crossplatform_strptime(timedate.substr(0, 19).c_str(), "%Y-%m-%d %T", ×tamp); - retval = mktime(×tamp); + #ifndef _WIN32 + retval = timegm(×tamp); + #else + retval = _mkgmtime(×tamp); + #endif } } return retval; @@ -311,10 +319,18 @@ void set_ts_not_null(const json* j, const char* keyname, time_t &v) } crossplatform_strptime(timedate.substr(0, 19).c_str(), "%Y-%m-%dT%T", ×tamp); timestamp.tm_isdst = 0; - retval = mktime(×tamp); + #ifndef _WIN32 + retval = timegm(×tamp); + #else + retval = _mkgmtime(×tamp); + #endif } else { crossplatform_strptime(timedate.substr(0, 19).c_str(), "%Y-%m-%d %T", ×tamp); - retval = mktime(×tamp); + #ifndef _WIN32 + retval = timegm(×tamp); + #else + retval = _mkgmtime(×tamp); + #endif } v = retval; }