diff --git a/core/fxcrt/cfx_datetime.cpp b/core/fxcrt/cfx_datetime.cpp
index 38dad0d..04fa8a5 100644
--- a/core/fxcrt/cfx_datetime.cpp
+++ b/core/fxcrt/cfx_datetime.cpp
@@ -90,7 +90,8 @@
   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 @@
   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 2899110..910a847 100644
--- a/core/fxcrt/cfx_datetime.h
+++ b/core/fxcrt/cfx_datetime.h
@@ -14,6 +14,8 @@
 
 class CFX_DateTime {
  public:
+  static CFX_DateTime Now();
+
   CFX_DateTime()
       : year_(0),
         month_(0),
@@ -37,8 +39,6 @@
         second_(second),
         millisecond_(millisecond) {}
 
-  void Now();
-
   void Reset() {
     year_ = 0;
     month_ = 0;
diff --git a/fpdfsdk/fpdfattachment.cpp b/fpdfsdk/fpdfattachment.cpp
index 8b3c8fe..eb83534 100644
--- a/fpdfsdk/fpdfattachment.cpp
+++ b/fpdfsdk/fpdfattachment.cpp
@@ -230,8 +230,7 @@
   pParamsDict->SetNewFor<CPDF_Number>("Size", static_cast<int>(len));
 
   // Set the creation date of the new attachment in the dictionary.
-  CFX_DateTime dateTime;
-  dateTime.Now();
+  CFX_DateTime dateTime = CFX_DateTime::Now();
   pParamsDict->SetNewFor<CPDF_String>(
       "CreationDate",
       ByteString::Format("D:%d%02d%02d%02d%02d%02d", dateTime.GetYear(),
diff --git a/xfa/fxfa/cxfa_ffnotify.cpp b/xfa/fxfa/cxfa_ffnotify.cpp
index fb63556..068cf70 100644
--- a/xfa/fxfa/cxfa_ffnotify.cpp
+++ b/xfa/fxfa/cxfa_ffnotify.cpp
@@ -284,8 +284,7 @@
 }
 
 WideString CXFA_FFNotify::GetCurrentDateTime() {
-  CFX_DateTime dataTime;
-  dataTime.Now();
+  CFX_DateTime dataTime = CFX_DateTime::Now();
   return WideString::Format(L"%d%02d%02dT%02d%02d%02d", dataTime.GetYear(),
                             dataTime.GetMonth(), dataTime.GetDay(),
                             dataTime.GetHour(), dataTime.GetMinute(),
