diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/fxcrt/cfx_datetime.cpp | 16 | ||||
-rw-r--r-- | core/fxcrt/cfx_datetime.h | 4 |
2 files changed, 10 insertions, 10 deletions
diff --git a/core/fxcrt/cfx_datetime.cpp b/core/fxcrt/cfx_datetime.cpp index 38dad0d6ac..04fa8a57ba 100644 --- a/core/fxcrt/cfx_datetime.cpp +++ b/core/fxcrt/cfx_datetime.cpp @@ -90,7 +90,8 @@ bool FX_IsLeapYear(int32_t iYear) { return ((iYear % 4) == 0 && (iYear % 100) != 0) || (iYear % 400) == 0; } -void CFX_DateTime::Now() { +// static +CFX_DateTime CFX_DateTime::Now() { FXUT_SYSTEMTIME utLocal; #if _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_ ::GetLocalTime((LPSYSTEMTIME)&utLocal); @@ -110,13 +111,12 @@ void CFX_DateTime::Now() { utLocal.wMillisecond = curTime.tv_usec / 1000; #endif // _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_ - year_ = utLocal.wYear; - month_ = static_cast<uint8_t>(utLocal.wMonth); - day_ = static_cast<uint8_t>(utLocal.wDay); - hour_ = static_cast<uint8_t>(utLocal.wHour); - minute_ = static_cast<uint8_t>(utLocal.wMinute); - second_ = static_cast<uint8_t>(utLocal.wSecond); - millisecond_ = static_cast<uint16_t>(utLocal.wMillisecond); + return CFX_DateTime(utLocal.wYear, static_cast<uint8_t>(utLocal.wMonth), + static_cast<uint8_t>(utLocal.wDay), + static_cast<uint8_t>(utLocal.wHour), + static_cast<uint8_t>(utLocal.wMinute), + static_cast<uint8_t>(utLocal.wSecond), + static_cast<uint16_t>(utLocal.wMillisecond)); } int32_t CFX_DateTime::GetDayOfWeek() const { diff --git a/core/fxcrt/cfx_datetime.h b/core/fxcrt/cfx_datetime.h index 28991103f5..910a847506 100644 --- a/core/fxcrt/cfx_datetime.h +++ b/core/fxcrt/cfx_datetime.h @@ -14,6 +14,8 @@ uint8_t FX_DaysInMonth(int32_t iYear, uint8_t iMonth); class CFX_DateTime { public: + static CFX_DateTime Now(); + CFX_DateTime() : year_(0), month_(0), @@ -37,8 +39,6 @@ class CFX_DateTime { second_(second), millisecond_(millisecond) {} - void Now(); - void Reset() { year_ = 0; month_ = 0; |