diff --git a/common/string_utils.cpp b/common/string_utils.cpp index 2280b9cdf5..6f9abce855 100644 --- a/common/string_utils.cpp +++ b/common/string_utils.cpp @@ -663,10 +663,11 @@ char* GetLine( FILE* File, char* Line, int* LineNum, int SizeLine ) wxString GetISO8601CurrentDateTime() { - // on msys2 the %z format (offset from UTC in the ISO 8601 format, e.g. -0430) does not work, - // and is in fact %Z (locale-dependent time zone name or abbreviation) which breaks our date. - // so do not use it (until %z works) -#ifdef __MINGW32__ + // on msys2 variant mingw64, in fmt::format the %z format + // (offset from UTC in the ISO 8601 format, e.g. -0430) does not work, + // and is in fact %Z (locale-dependent time zone name or abbreviation) and breaks our date. + // However, on msys2 variant ucrt64, it works (this is not the same code in fmt::format) +#if defined(__MINGW32__) && !defined(_UCRT) return fmt::format( "{:%FT%T}", fmt::localtime( std::time( nullptr ) ) ); #else return fmt::format( "{:%FT%T%z}", fmt::localtime( std::time( nullptr ) ) );