Convert CFX_DateTime::Now to be static

This CL converts the CFX_DateTime::Now method to be a static and updates
the callers.

Change-Id: I26052c6194ed2d43bca5fee2542787ce166eda85
Reviewed-on: https://pdfium-review.googlesource.com/18670
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
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(),