Home | History | Annotate | Download | only in fpdfsdk
      1 // Copyright 2016 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef FPDFSDK_CPDFSDK_DATETIME_H_
      8 #define FPDFSDK_CPDFSDK_DATETIME_H_
      9 
     10 #if _FX_OS_ == _FX_OS_ANDROID_
     11 #include <time.h>
     12 #else
     13 #include <ctime>
     14 #endif
     15 
     16 #include "fpdfsdk/cfx_systemhandler.h"
     17 
     18 class CPDFSDK_DateTime {
     19  public:
     20   CPDFSDK_DateTime();
     21   explicit CPDFSDK_DateTime(const ByteString& dtStr);
     22   explicit CPDFSDK_DateTime(const FX_SYSTEMTIME& st);
     23   CPDFSDK_DateTime(const CPDFSDK_DateTime& datetime);
     24 
     25   bool operator==(const CPDFSDK_DateTime& datetime) const;
     26   bool operator!=(const CPDFSDK_DateTime& datetime) const;
     27 
     28   CPDFSDK_DateTime& FromPDFDateTimeString(const ByteString& dtStr);
     29   ByteString ToCommonDateTimeString();
     30   ByteString ToPDFDateTimeString();
     31   void ToSystemTime(FX_SYSTEMTIME& st);
     32   time_t ToTime_t() const;
     33   CPDFSDK_DateTime ToGMT() const;
     34   CPDFSDK_DateTime& AddDays(short days);
     35   CPDFSDK_DateTime& AddSeconds(int seconds);
     36   void ResetDateTime();
     37 
     38  private:
     39   int16_t m_year;
     40   uint8_t m_month;
     41   uint8_t m_day;
     42   uint8_t m_hour;
     43   uint8_t m_minute;
     44   uint8_t m_second;
     45   int8_t m_tzHour;
     46   uint8_t m_tzMinute;
     47 };
     48 
     49 #endif  // FPDFSDK_CPDFSDK_DATETIME_H_
     50