Index: Core/TimeDate.cpp =================================================================== --- Core/TimeDate.cpp (revision 1647) +++ Core/TimeDate.cpp (working copy) @@ -427,16 +427,32 @@ GetLocalTime(&st); return Time(st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond); } + +Time GetUtcTime() { + SYSTEMTIME st; + GetSystemTime(&st); + return Time(st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond); +} #endif #ifdef PLATFORM_POSIX Time GetSysTime() { return Time(time(NULL)); } + +Time GetUtcTime() { + struct tm *utc = gmtime(time(NULL)); + return Time(utc->tm_year + 1900, utc->tm_mon + 1, utc->tm_mday, + utc->tm_hour, utc->tm_min, utc->tm_sec); +} #endif Date GetSysDate() { return GetSysTime(); } +Date GetUtcDate() { + return GetUtcTime(); +} + END_UPP_NAMESPACE Index: Core/TimeDate.h =================================================================== --- Core/TimeDate.h (revision 1647) +++ Core/TimeDate.h (working copy) @@ -54,6 +54,7 @@ Date AddYears(Date date, int years); Date GetSysDate(); +Date GetUtcDate(); String DayName(int i, int lang = 0); String DyName(int i, int lang = 0); @@ -124,6 +125,7 @@ inline Time& operator-=(Time& a, double i) { return a -= int64(i); } Time GetSysTime(); +Time GetUtcTime(); String Format(Time time, bool seconds = true);