| Index: xfa/src/fgas/include/fx_datetime.h
|
| diff --git a/xfa/src/fgas/include/fx_datetime.h b/xfa/src/fgas/include/fx_datetime.h
|
| index d723b4367ed17d2f3e959e3bc56410f21091512c..773acbd2fbaf1600de18add96d2151cebfc5ed11 100644
|
| --- a/xfa/src/fgas/include/fx_datetime.h
|
| +++ b/xfa/src/fgas/include/fx_datetime.h
|
| @@ -1,392 +1,392 @@
|
| -// Copyright 2014 PDFium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
| -
|
| -#ifndef _FX_DATETIME_H_
|
| -#define _FX_DATETIME_H_
|
| -class CFX_Unitime;
|
| -class CFX_DateTime;
|
| -typedef int64_t FX_UNITIME;
|
| -enum FX_WEEKDAY {
|
| - FX_Sunday = 0,
|
| - FX_Monday,
|
| - FX_Tuesday,
|
| - FX_Wednesday,
|
| - FX_Thursday,
|
| - FX_Friday,
|
| - FX_Saturday,
|
| -};
|
| -FX_BOOL FX_IsLeapYear(int32_t iYear);
|
| -int32_t FX_DaysInYear(int32_t iYear);
|
| -uint8_t FX_DaysInMonth(int32_t iYear, uint8_t iMonth);
|
| -class CFX_Unitime {
|
| - public:
|
| - CFX_Unitime() { m_iUnitime = 0; }
|
| - CFX_Unitime(FX_UNITIME iUnitime) { m_iUnitime = iUnitime; }
|
| - CFX_Unitime(const CFX_Unitime& unitime) { m_iUnitime = unitime.m_iUnitime; }
|
| - operator FX_UNITIME*() { return &m_iUnitime; }
|
| - operator FX_UNITIME const*() const { return &m_iUnitime; }
|
| - operator FX_UNITIME&() { return m_iUnitime; }
|
| - operator const FX_UNITIME&() const { return m_iUnitime; }
|
| - CFX_Unitime& operator=(const CFX_Unitime& t) {
|
| - m_iUnitime = t.m_iUnitime;
|
| - return *this;
|
| - }
|
| - CFX_Unitime& operator=(FX_UNITIME t) {
|
| - m_iUnitime = t;
|
| - return *this;
|
| - }
|
| - CFX_Unitime& operator+=(const CFX_Unitime& t) {
|
| - m_iUnitime += t.m_iUnitime;
|
| - return *this;
|
| - }
|
| - CFX_Unitime& operator+=(FX_UNITIME t) {
|
| - m_iUnitime += t;
|
| - return *this;
|
| - }
|
| - CFX_Unitime& operator-=(const CFX_Unitime& t) {
|
| - m_iUnitime -= t.m_iUnitime;
|
| - return *this;
|
| - }
|
| - CFX_Unitime& operator-=(FX_UNITIME t) {
|
| - m_iUnitime -= t;
|
| - return *this;
|
| - }
|
| - void Now();
|
| - void SetGMTime();
|
| - void Set(int32_t year,
|
| - uint8_t month,
|
| - uint8_t day,
|
| - uint8_t hour = 0,
|
| - uint8_t minute = 0,
|
| - uint8_t second = 0,
|
| - FX_WORD millisecond = 0);
|
| - void Set(FX_UNITIME t);
|
| - int32_t GetYear() const;
|
| - uint8_t GetMonth() const;
|
| - uint8_t GetDay() const;
|
| - FX_WEEKDAY GetDayOfWeek() const;
|
| - FX_WORD GetDayOfYear() const;
|
| - int64_t GetDayOfAD() const;
|
| - uint8_t GetHour() const;
|
| - uint8_t GetMinute() const;
|
| - uint8_t GetSecond() const;
|
| - FX_WORD GetMillisecond() const;
|
| - FX_BOOL AddYears(int32_t iYears);
|
| - FX_BOOL AddMonths(int32_t iMonths);
|
| - FX_BOOL AddDays(int32_t iDays);
|
| - FX_BOOL AddHours(int32_t iHours);
|
| - FX_BOOL AddMinutes(int32_t iMinutes);
|
| - FX_BOOL AddSeconds(int32_t iSeconds);
|
| - FX_BOOL AddMilliseconds(int32_t iMilliseconds);
|
| - friend CFX_Unitime operator+(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| - return CFX_Unitime(t1.m_iUnitime + t2.m_iUnitime);
|
| - }
|
| - friend CFX_Unitime operator+(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| - return CFX_Unitime(t1.m_iUnitime + t2);
|
| - }
|
| - friend CFX_Unitime operator+(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| - return CFX_Unitime(t1 + t2.m_iUnitime);
|
| - }
|
| - friend CFX_Unitime operator-(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| - return CFX_Unitime(t1.m_iUnitime + t2.m_iUnitime);
|
| - }
|
| - friend CFX_Unitime operator-(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| - return CFX_Unitime(t1.m_iUnitime + t2);
|
| - }
|
| - friend CFX_Unitime operator-(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| - return CFX_Unitime(t1 + t2.m_iUnitime);
|
| - }
|
| - friend FX_BOOL operator==(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| - return t1.m_iUnitime == t2.m_iUnitime;
|
| - }
|
| - friend FX_BOOL operator==(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| - return t1.m_iUnitime == t2;
|
| - }
|
| - friend FX_BOOL operator==(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| - return t1 == t2.m_iUnitime;
|
| - }
|
| - friend FX_BOOL operator!=(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| - return t1.m_iUnitime != t2.m_iUnitime;
|
| - }
|
| - friend FX_BOOL operator!=(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| - return t1.m_iUnitime != t2;
|
| - }
|
| - friend FX_BOOL operator!=(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| - return t1 != t2.m_iUnitime;
|
| - }
|
| - friend FX_BOOL operator>(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| - return t1.m_iUnitime > t2.m_iUnitime;
|
| - }
|
| - friend FX_BOOL operator>(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| - return t1.m_iUnitime > t2;
|
| - }
|
| - friend FX_BOOL operator>(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| - return t1 > t2.m_iUnitime;
|
| - }
|
| - friend FX_BOOL operator>=(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| - return t1.m_iUnitime >= t2.m_iUnitime;
|
| - }
|
| - friend FX_BOOL operator>=(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| - return t1.m_iUnitime >= t2;
|
| - }
|
| - friend FX_BOOL operator>=(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| - return t1 >= t2.m_iUnitime;
|
| - }
|
| - friend FX_BOOL operator<(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| - return t1.m_iUnitime < t2.m_iUnitime;
|
| - }
|
| - friend FX_BOOL operator<(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| - return t1.m_iUnitime < t2;
|
| - }
|
| - friend FX_BOOL operator<(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| - return t1 < t2.m_iUnitime;
|
| - }
|
| - friend FX_BOOL operator<=(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| - return t1.m_iUnitime <= t2.m_iUnitime;
|
| - }
|
| - friend FX_BOOL operator<=(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| - return t1.m_iUnitime <= t2;
|
| - }
|
| - friend FX_BOOL operator<=(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| - return t1 <= t2.m_iUnitime;
|
| - }
|
| -
|
| - private:
|
| - FX_UNITIME m_iUnitime;
|
| -};
|
| -#if _FX_OS_ != _FX_ANDROID_
|
| -#pragma pack(push, 1)
|
| -#endif
|
| -typedef struct _FX_DATE {
|
| - int32_t year;
|
| - uint8_t month;
|
| - uint8_t day;
|
| -} FX_DATE, *FX_LPDATE;
|
| -typedef FX_DATE const* FX_LPCDATE;
|
| -typedef struct _FX_TIME {
|
| - uint8_t hour;
|
| - uint8_t minute;
|
| - uint8_t second;
|
| - FX_WORD millisecond;
|
| -} FX_TIME, *FX_LPTIME;
|
| -typedef FX_TIME const* FX_LPCTIME;
|
| -typedef struct _FX_TIMEZONE {
|
| - int8_t tzHour;
|
| - uint8_t tzMinute;
|
| -} FX_TIMEZONE, *FX_LPTIMEZONE;
|
| -typedef FX_TIMEZONE const* FX_LPCTIMEZONE;
|
| -typedef struct _FX_DATETIME {
|
| - union {
|
| - struct {
|
| - int32_t year;
|
| - uint8_t month;
|
| - uint8_t day;
|
| - } sDate;
|
| - FX_DATE aDate;
|
| - } Date;
|
| - union {
|
| - struct {
|
| - uint8_t hour;
|
| - uint8_t minute;
|
| - uint8_t second;
|
| - FX_WORD millisecond;
|
| - } sTime;
|
| - FX_TIME aTime;
|
| - } Time;
|
| -} FX_DATETIME, *FX_LPDATETIME;
|
| -typedef FX_DATETIME const* FX_LPCDATETIME;
|
| -typedef struct _FX_DATETIMEZONE {
|
| - union {
|
| - struct {
|
| - union {
|
| - struct {
|
| - int32_t year;
|
| - uint8_t month;
|
| - uint8_t day;
|
| - };
|
| - FX_DATE date;
|
| - };
|
| - union {
|
| - struct {
|
| - uint8_t hour;
|
| - uint8_t minute;
|
| - uint8_t second;
|
| - FX_WORD millisecond;
|
| - };
|
| - FX_TIME time;
|
| - };
|
| - };
|
| - FX_DATETIME dt;
|
| - };
|
| - union {
|
| - struct {
|
| - int8_t tzHour;
|
| - uint8_t tzMinute;
|
| - };
|
| - FX_TIMEZONE tz;
|
| - };
|
| -} FX_DATETIMEZONE, *FX_LPDATETIMEZONE;
|
| -typedef FX_DATETIMEZONE const* FX_LPCDATETIMEZONE;
|
| -#if _FX_OS_ != _FX_ANDROID_
|
| -#pragma pack(pop)
|
| -#endif
|
| -class CFX_DateTime {
|
| - public:
|
| - CFX_DateTime() {}
|
| - CFX_DateTime(const FX_DATETIME& dt) { m_DateTime = dt; }
|
| - CFX_DateTime(const CFX_DateTime& dt) { m_DateTime = dt.m_DateTime; }
|
| - virtual ~CFX_DateTime() {}
|
| - operator FX_DATETIME*() { return &m_DateTime; }
|
| - operator FX_DATETIME const*() const { return &m_DateTime; }
|
| - operator FX_DATETIME&() { return m_DateTime; }
|
| - operator const FX_DATETIME&() const { return m_DateTime; }
|
| - CFX_DateTime& operator=(const CFX_DateTime& dt) {
|
| - m_DateTime = dt.m_DateTime;
|
| - return *this;
|
| - }
|
| - CFX_DateTime& operator=(const FX_DATETIME& dt) {
|
| - m_DateTime = dt;
|
| - return *this;
|
| - }
|
| - CFX_DateTime& operator+=(const CFX_DateTime& dt) {
|
| - FromUnitime(ToUnitime() + dt.ToUnitime());
|
| - return *this;
|
| - }
|
| - CFX_DateTime& operator+=(const FX_DATETIME& dt) {
|
| - FromUnitime(ToUnitime() + ((const CFX_DateTime&)dt).ToUnitime());
|
| - return *this;
|
| - }
|
| - CFX_DateTime& operator-=(const CFX_DateTime& dt) {
|
| - FromUnitime(ToUnitime() - dt.ToUnitime());
|
| - return *this;
|
| - }
|
| - CFX_DateTime& operator-=(const FX_DATETIME& dt) {
|
| - FromUnitime(ToUnitime() - ((const CFX_DateTime&)dt).ToUnitime());
|
| - return *this;
|
| - }
|
| - virtual FX_BOOL Set(int32_t year,
|
| - uint8_t month,
|
| - uint8_t day,
|
| - uint8_t hour = 0,
|
| - uint8_t minute = 0,
|
| - uint8_t second = 0,
|
| - FX_WORD millisecond = 0);
|
| - virtual FX_BOOL FromUnitime(FX_UNITIME t);
|
| - virtual FX_UNITIME ToUnitime() const;
|
| - virtual int32_t GetYear() const;
|
| - virtual uint8_t GetMonth() const;
|
| - virtual uint8_t GetDay() const;
|
| - virtual FX_WEEKDAY GetDayOfWeek() const;
|
| - virtual FX_WORD GetDayOfYear() const;
|
| - virtual int64_t GetDayOfAD() const;
|
| - virtual uint8_t GetHour() const;
|
| - virtual uint8_t GetMinute() const;
|
| - virtual uint8_t GetSecond() const;
|
| - virtual FX_WORD GetMillisecond() const;
|
| - virtual FX_BOOL AddYears(int32_t iYears);
|
| - virtual FX_BOOL AddMonths(int32_t iMonths);
|
| - virtual FX_BOOL AddDays(int32_t iDays);
|
| - virtual FX_BOOL AddHours(int32_t iHours);
|
| - virtual FX_BOOL AddMinutes(int32_t iMinutes);
|
| - virtual FX_BOOL AddSeconds(int32_t iSeconds);
|
| - virtual FX_BOOL AddMilliseconds(int32_t iMilliseconds);
|
| - friend CFX_DateTime operator+(const CFX_DateTime& dt1,
|
| - const CFX_DateTime& dt2) {
|
| - CFX_DateTime dt;
|
| - dt.FromUnitime(dt1.ToUnitime() + dt2.ToUnitime());
|
| - return dt;
|
| - }
|
| - friend CFX_DateTime operator+(const CFX_DateTime& dt1,
|
| - const FX_DATETIME& dt2) {
|
| - CFX_DateTime dt;
|
| - dt.FromUnitime(dt1.ToUnitime() + ((const CFX_DateTime&)dt2).ToUnitime());
|
| - return dt;
|
| - }
|
| - friend CFX_DateTime operator+(const FX_DATETIME& dt1,
|
| - const CFX_DateTime& dt2) {
|
| - CFX_DateTime dt;
|
| - dt.FromUnitime(((const CFX_DateTime&)dt1).ToUnitime() + dt2.ToUnitime());
|
| - return dt;
|
| - }
|
| - friend CFX_DateTime operator-(const CFX_DateTime& dt1,
|
| - const CFX_DateTime& dt2) {
|
| - CFX_DateTime dt;
|
| - dt.FromUnitime(dt1.ToUnitime() - dt2.ToUnitime());
|
| - return dt;
|
| - }
|
| - friend CFX_DateTime operator-(const CFX_DateTime& dt1,
|
| - const FX_DATETIME& dt2) {
|
| - CFX_DateTime dt;
|
| - dt.FromUnitime(dt1.ToUnitime() - ((const CFX_DateTime&)dt2).ToUnitime());
|
| - return dt;
|
| - }
|
| - friend CFX_DateTime operator-(const FX_DATETIME& dt1,
|
| - const CFX_DateTime& dt2) {
|
| - CFX_DateTime dt;
|
| - dt.FromUnitime(((const CFX_DateTime&)dt1).ToUnitime() - dt2.ToUnitime());
|
| - return dt;
|
| - }
|
| - friend FX_BOOL operator==(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| - return FXSYS_memcmp((FX_LPCDATETIME)dt1, (FX_LPCDATETIME)dt2,
|
| - sizeof(FX_DATETIME)) == 0;
|
| - }
|
| - friend FX_BOOL operator==(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| - return FXSYS_memcmp((FX_LPCDATETIME)dt1, &dt2, sizeof(FX_DATETIME)) == 0;
|
| - }
|
| - friend FX_BOOL operator==(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| - return FXSYS_memcmp(&dt1, (FX_LPCDATETIME)dt2, sizeof(FX_DATETIME)) == 0;
|
| - }
|
| - friend FX_BOOL operator!=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| - return FXSYS_memcmp((FX_LPCDATETIME)dt1, (FX_LPCDATETIME)dt2,
|
| - sizeof(FX_DATETIME)) != 0;
|
| - }
|
| - friend FX_BOOL operator!=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| - return FXSYS_memcmp((FX_LPCDATETIME)dt1, &dt2, sizeof(FX_DATETIME)) != 0;
|
| - }
|
| - friend FX_BOOL operator!=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| - return FXSYS_memcmp(&dt1, (FX_LPCDATETIME)dt2, sizeof(FX_DATETIME)) != 0;
|
| - }
|
| - friend FX_BOOL operator>(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| - return dt1.ToUnitime() > dt2.ToUnitime();
|
| - }
|
| - friend FX_BOOL operator>(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| - return dt1.ToUnitime() > ((const CFX_DateTime&)dt2).ToUnitime();
|
| - }
|
| - friend FX_BOOL operator>(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| - return ((const CFX_DateTime&)dt1).ToUnitime() > dt2.ToUnitime();
|
| - }
|
| - friend FX_BOOL operator>=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| - return dt1.ToUnitime() >= dt2.ToUnitime();
|
| - }
|
| - friend FX_BOOL operator>=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| - return dt1.ToUnitime() >= ((const CFX_DateTime&)dt2).ToUnitime();
|
| - }
|
| - friend FX_BOOL operator>=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| - return ((const CFX_DateTime&)dt1).ToUnitime() >= dt2.ToUnitime();
|
| - }
|
| - friend FX_BOOL operator<(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| - return dt1.ToUnitime() < dt2.ToUnitime();
|
| - }
|
| - friend FX_BOOL operator<(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| - return dt1.ToUnitime() < ((const CFX_DateTime&)dt2).ToUnitime();
|
| - }
|
| - friend FX_BOOL operator<(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| - return ((const CFX_DateTime&)dt1).ToUnitime() < dt2.ToUnitime();
|
| - }
|
| - friend FX_BOOL operator<=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| - return dt1.ToUnitime() <= dt2.ToUnitime();
|
| - }
|
| - friend FX_BOOL operator<=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| - return dt1.ToUnitime() <= ((const CFX_DateTime&)dt2).ToUnitime();
|
| - }
|
| - friend FX_BOOL operator<=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| - return ((const CFX_DateTime&)dt1).ToUnitime() <= dt2.ToUnitime();
|
| - }
|
| -
|
| - private:
|
| - FX_DATETIME m_DateTime;
|
| -};
|
| -#endif
|
| +// Copyright 2014 PDFium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
| +
|
| +#ifndef _FX_DATETIME_H_
|
| +#define _FX_DATETIME_H_
|
| +class CFX_Unitime;
|
| +class CFX_DateTime;
|
| +typedef int64_t FX_UNITIME;
|
| +enum FX_WEEKDAY {
|
| + FX_Sunday = 0,
|
| + FX_Monday,
|
| + FX_Tuesday,
|
| + FX_Wednesday,
|
| + FX_Thursday,
|
| + FX_Friday,
|
| + FX_Saturday,
|
| +};
|
| +FX_BOOL FX_IsLeapYear(int32_t iYear);
|
| +int32_t FX_DaysInYear(int32_t iYear);
|
| +uint8_t FX_DaysInMonth(int32_t iYear, uint8_t iMonth);
|
| +class CFX_Unitime {
|
| + public:
|
| + CFX_Unitime() { m_iUnitime = 0; }
|
| + CFX_Unitime(FX_UNITIME iUnitime) { m_iUnitime = iUnitime; }
|
| + CFX_Unitime(const CFX_Unitime& unitime) { m_iUnitime = unitime.m_iUnitime; }
|
| + operator FX_UNITIME*() { return &m_iUnitime; }
|
| + operator FX_UNITIME const*() const { return &m_iUnitime; }
|
| + operator FX_UNITIME&() { return m_iUnitime; }
|
| + operator const FX_UNITIME&() const { return m_iUnitime; }
|
| + CFX_Unitime& operator=(const CFX_Unitime& t) {
|
| + m_iUnitime = t.m_iUnitime;
|
| + return *this;
|
| + }
|
| + CFX_Unitime& operator=(FX_UNITIME t) {
|
| + m_iUnitime = t;
|
| + return *this;
|
| + }
|
| + CFX_Unitime& operator+=(const CFX_Unitime& t) {
|
| + m_iUnitime += t.m_iUnitime;
|
| + return *this;
|
| + }
|
| + CFX_Unitime& operator+=(FX_UNITIME t) {
|
| + m_iUnitime += t;
|
| + return *this;
|
| + }
|
| + CFX_Unitime& operator-=(const CFX_Unitime& t) {
|
| + m_iUnitime -= t.m_iUnitime;
|
| + return *this;
|
| + }
|
| + CFX_Unitime& operator-=(FX_UNITIME t) {
|
| + m_iUnitime -= t;
|
| + return *this;
|
| + }
|
| + void Now();
|
| + void SetGMTime();
|
| + void Set(int32_t year,
|
| + uint8_t month,
|
| + uint8_t day,
|
| + uint8_t hour = 0,
|
| + uint8_t minute = 0,
|
| + uint8_t second = 0,
|
| + FX_WORD millisecond = 0);
|
| + void Set(FX_UNITIME t);
|
| + int32_t GetYear() const;
|
| + uint8_t GetMonth() const;
|
| + uint8_t GetDay() const;
|
| + FX_WEEKDAY GetDayOfWeek() const;
|
| + FX_WORD GetDayOfYear() const;
|
| + int64_t GetDayOfAD() const;
|
| + uint8_t GetHour() const;
|
| + uint8_t GetMinute() const;
|
| + uint8_t GetSecond() const;
|
| + FX_WORD GetMillisecond() const;
|
| + FX_BOOL AddYears(int32_t iYears);
|
| + FX_BOOL AddMonths(int32_t iMonths);
|
| + FX_BOOL AddDays(int32_t iDays);
|
| + FX_BOOL AddHours(int32_t iHours);
|
| + FX_BOOL AddMinutes(int32_t iMinutes);
|
| + FX_BOOL AddSeconds(int32_t iSeconds);
|
| + FX_BOOL AddMilliseconds(int32_t iMilliseconds);
|
| + friend CFX_Unitime operator+(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| + return CFX_Unitime(t1.m_iUnitime + t2.m_iUnitime);
|
| + }
|
| + friend CFX_Unitime operator+(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| + return CFX_Unitime(t1.m_iUnitime + t2);
|
| + }
|
| + friend CFX_Unitime operator+(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| + return CFX_Unitime(t1 + t2.m_iUnitime);
|
| + }
|
| + friend CFX_Unitime operator-(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| + return CFX_Unitime(t1.m_iUnitime + t2.m_iUnitime);
|
| + }
|
| + friend CFX_Unitime operator-(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| + return CFX_Unitime(t1.m_iUnitime + t2);
|
| + }
|
| + friend CFX_Unitime operator-(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| + return CFX_Unitime(t1 + t2.m_iUnitime);
|
| + }
|
| + friend FX_BOOL operator==(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| + return t1.m_iUnitime == t2.m_iUnitime;
|
| + }
|
| + friend FX_BOOL operator==(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| + return t1.m_iUnitime == t2;
|
| + }
|
| + friend FX_BOOL operator==(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| + return t1 == t2.m_iUnitime;
|
| + }
|
| + friend FX_BOOL operator!=(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| + return t1.m_iUnitime != t2.m_iUnitime;
|
| + }
|
| + friend FX_BOOL operator!=(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| + return t1.m_iUnitime != t2;
|
| + }
|
| + friend FX_BOOL operator!=(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| + return t1 != t2.m_iUnitime;
|
| + }
|
| + friend FX_BOOL operator>(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| + return t1.m_iUnitime > t2.m_iUnitime;
|
| + }
|
| + friend FX_BOOL operator>(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| + return t1.m_iUnitime > t2;
|
| + }
|
| + friend FX_BOOL operator>(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| + return t1 > t2.m_iUnitime;
|
| + }
|
| + friend FX_BOOL operator>=(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| + return t1.m_iUnitime >= t2.m_iUnitime;
|
| + }
|
| + friend FX_BOOL operator>=(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| + return t1.m_iUnitime >= t2;
|
| + }
|
| + friend FX_BOOL operator>=(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| + return t1 >= t2.m_iUnitime;
|
| + }
|
| + friend FX_BOOL operator<(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| + return t1.m_iUnitime < t2.m_iUnitime;
|
| + }
|
| + friend FX_BOOL operator<(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| + return t1.m_iUnitime < t2;
|
| + }
|
| + friend FX_BOOL operator<(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| + return t1 < t2.m_iUnitime;
|
| + }
|
| + friend FX_BOOL operator<=(const CFX_Unitime& t1, const CFX_Unitime& t2) {
|
| + return t1.m_iUnitime <= t2.m_iUnitime;
|
| + }
|
| + friend FX_BOOL operator<=(const CFX_Unitime& t1, FX_UNITIME t2) {
|
| + return t1.m_iUnitime <= t2;
|
| + }
|
| + friend FX_BOOL operator<=(FX_UNITIME t1, const CFX_Unitime& t2) {
|
| + return t1 <= t2.m_iUnitime;
|
| + }
|
| +
|
| + private:
|
| + FX_UNITIME m_iUnitime;
|
| +};
|
| +#if _FX_OS_ != _FX_ANDROID_
|
| +#pragma pack(push, 1)
|
| +#endif
|
| +typedef struct _FX_DATE {
|
| + int32_t year;
|
| + uint8_t month;
|
| + uint8_t day;
|
| +} FX_DATE, *FX_LPDATE;
|
| +typedef FX_DATE const* FX_LPCDATE;
|
| +typedef struct _FX_TIME {
|
| + uint8_t hour;
|
| + uint8_t minute;
|
| + uint8_t second;
|
| + FX_WORD millisecond;
|
| +} FX_TIME, *FX_LPTIME;
|
| +typedef FX_TIME const* FX_LPCTIME;
|
| +typedef struct _FX_TIMEZONE {
|
| + int8_t tzHour;
|
| + uint8_t tzMinute;
|
| +} FX_TIMEZONE, *FX_LPTIMEZONE;
|
| +typedef FX_TIMEZONE const* FX_LPCTIMEZONE;
|
| +typedef struct _FX_DATETIME {
|
| + union {
|
| + struct {
|
| + int32_t year;
|
| + uint8_t month;
|
| + uint8_t day;
|
| + } sDate;
|
| + FX_DATE aDate;
|
| + } Date;
|
| + union {
|
| + struct {
|
| + uint8_t hour;
|
| + uint8_t minute;
|
| + uint8_t second;
|
| + FX_WORD millisecond;
|
| + } sTime;
|
| + FX_TIME aTime;
|
| + } Time;
|
| +} FX_DATETIME, *FX_LPDATETIME;
|
| +typedef FX_DATETIME const* FX_LPCDATETIME;
|
| +typedef struct _FX_DATETIMEZONE {
|
| + union {
|
| + struct {
|
| + union {
|
| + struct {
|
| + int32_t year;
|
| + uint8_t month;
|
| + uint8_t day;
|
| + };
|
| + FX_DATE date;
|
| + };
|
| + union {
|
| + struct {
|
| + uint8_t hour;
|
| + uint8_t minute;
|
| + uint8_t second;
|
| + FX_WORD millisecond;
|
| + };
|
| + FX_TIME time;
|
| + };
|
| + };
|
| + FX_DATETIME dt;
|
| + };
|
| + union {
|
| + struct {
|
| + int8_t tzHour;
|
| + uint8_t tzMinute;
|
| + };
|
| + FX_TIMEZONE tz;
|
| + };
|
| +} FX_DATETIMEZONE, *FX_LPDATETIMEZONE;
|
| +typedef FX_DATETIMEZONE const* FX_LPCDATETIMEZONE;
|
| +#if _FX_OS_ != _FX_ANDROID_
|
| +#pragma pack(pop)
|
| +#endif
|
| +class CFX_DateTime {
|
| + public:
|
| + CFX_DateTime() {}
|
| + CFX_DateTime(const FX_DATETIME& dt) { m_DateTime = dt; }
|
| + CFX_DateTime(const CFX_DateTime& dt) { m_DateTime = dt.m_DateTime; }
|
| + virtual ~CFX_DateTime() {}
|
| + operator FX_DATETIME*() { return &m_DateTime; }
|
| + operator FX_DATETIME const*() const { return &m_DateTime; }
|
| + operator FX_DATETIME&() { return m_DateTime; }
|
| + operator const FX_DATETIME&() const { return m_DateTime; }
|
| + CFX_DateTime& operator=(const CFX_DateTime& dt) {
|
| + m_DateTime = dt.m_DateTime;
|
| + return *this;
|
| + }
|
| + CFX_DateTime& operator=(const FX_DATETIME& dt) {
|
| + m_DateTime = dt;
|
| + return *this;
|
| + }
|
| + CFX_DateTime& operator+=(const CFX_DateTime& dt) {
|
| + FromUnitime(ToUnitime() + dt.ToUnitime());
|
| + return *this;
|
| + }
|
| + CFX_DateTime& operator+=(const FX_DATETIME& dt) {
|
| + FromUnitime(ToUnitime() + ((const CFX_DateTime&)dt).ToUnitime());
|
| + return *this;
|
| + }
|
| + CFX_DateTime& operator-=(const CFX_DateTime& dt) {
|
| + FromUnitime(ToUnitime() - dt.ToUnitime());
|
| + return *this;
|
| + }
|
| + CFX_DateTime& operator-=(const FX_DATETIME& dt) {
|
| + FromUnitime(ToUnitime() - ((const CFX_DateTime&)dt).ToUnitime());
|
| + return *this;
|
| + }
|
| + virtual FX_BOOL Set(int32_t year,
|
| + uint8_t month,
|
| + uint8_t day,
|
| + uint8_t hour = 0,
|
| + uint8_t minute = 0,
|
| + uint8_t second = 0,
|
| + FX_WORD millisecond = 0);
|
| + virtual FX_BOOL FromUnitime(FX_UNITIME t);
|
| + virtual FX_UNITIME ToUnitime() const;
|
| + virtual int32_t GetYear() const;
|
| + virtual uint8_t GetMonth() const;
|
| + virtual uint8_t GetDay() const;
|
| + virtual FX_WEEKDAY GetDayOfWeek() const;
|
| + virtual FX_WORD GetDayOfYear() const;
|
| + virtual int64_t GetDayOfAD() const;
|
| + virtual uint8_t GetHour() const;
|
| + virtual uint8_t GetMinute() const;
|
| + virtual uint8_t GetSecond() const;
|
| + virtual FX_WORD GetMillisecond() const;
|
| + virtual FX_BOOL AddYears(int32_t iYears);
|
| + virtual FX_BOOL AddMonths(int32_t iMonths);
|
| + virtual FX_BOOL AddDays(int32_t iDays);
|
| + virtual FX_BOOL AddHours(int32_t iHours);
|
| + virtual FX_BOOL AddMinutes(int32_t iMinutes);
|
| + virtual FX_BOOL AddSeconds(int32_t iSeconds);
|
| + virtual FX_BOOL AddMilliseconds(int32_t iMilliseconds);
|
| + friend CFX_DateTime operator+(const CFX_DateTime& dt1,
|
| + const CFX_DateTime& dt2) {
|
| + CFX_DateTime dt;
|
| + dt.FromUnitime(dt1.ToUnitime() + dt2.ToUnitime());
|
| + return dt;
|
| + }
|
| + friend CFX_DateTime operator+(const CFX_DateTime& dt1,
|
| + const FX_DATETIME& dt2) {
|
| + CFX_DateTime dt;
|
| + dt.FromUnitime(dt1.ToUnitime() + ((const CFX_DateTime&)dt2).ToUnitime());
|
| + return dt;
|
| + }
|
| + friend CFX_DateTime operator+(const FX_DATETIME& dt1,
|
| + const CFX_DateTime& dt2) {
|
| + CFX_DateTime dt;
|
| + dt.FromUnitime(((const CFX_DateTime&)dt1).ToUnitime() + dt2.ToUnitime());
|
| + return dt;
|
| + }
|
| + friend CFX_DateTime operator-(const CFX_DateTime& dt1,
|
| + const CFX_DateTime& dt2) {
|
| + CFX_DateTime dt;
|
| + dt.FromUnitime(dt1.ToUnitime() - dt2.ToUnitime());
|
| + return dt;
|
| + }
|
| + friend CFX_DateTime operator-(const CFX_DateTime& dt1,
|
| + const FX_DATETIME& dt2) {
|
| + CFX_DateTime dt;
|
| + dt.FromUnitime(dt1.ToUnitime() - ((const CFX_DateTime&)dt2).ToUnitime());
|
| + return dt;
|
| + }
|
| + friend CFX_DateTime operator-(const FX_DATETIME& dt1,
|
| + const CFX_DateTime& dt2) {
|
| + CFX_DateTime dt;
|
| + dt.FromUnitime(((const CFX_DateTime&)dt1).ToUnitime() - dt2.ToUnitime());
|
| + return dt;
|
| + }
|
| + friend FX_BOOL operator==(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| + return FXSYS_memcmp((FX_LPCDATETIME)dt1, (FX_LPCDATETIME)dt2,
|
| + sizeof(FX_DATETIME)) == 0;
|
| + }
|
| + friend FX_BOOL operator==(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| + return FXSYS_memcmp((FX_LPCDATETIME)dt1, &dt2, sizeof(FX_DATETIME)) == 0;
|
| + }
|
| + friend FX_BOOL operator==(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| + return FXSYS_memcmp(&dt1, (FX_LPCDATETIME)dt2, sizeof(FX_DATETIME)) == 0;
|
| + }
|
| + friend FX_BOOL operator!=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| + return FXSYS_memcmp((FX_LPCDATETIME)dt1, (FX_LPCDATETIME)dt2,
|
| + sizeof(FX_DATETIME)) != 0;
|
| + }
|
| + friend FX_BOOL operator!=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| + return FXSYS_memcmp((FX_LPCDATETIME)dt1, &dt2, sizeof(FX_DATETIME)) != 0;
|
| + }
|
| + friend FX_BOOL operator!=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| + return FXSYS_memcmp(&dt1, (FX_LPCDATETIME)dt2, sizeof(FX_DATETIME)) != 0;
|
| + }
|
| + friend FX_BOOL operator>(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| + return dt1.ToUnitime() > dt2.ToUnitime();
|
| + }
|
| + friend FX_BOOL operator>(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| + return dt1.ToUnitime() > ((const CFX_DateTime&)dt2).ToUnitime();
|
| + }
|
| + friend FX_BOOL operator>(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| + return ((const CFX_DateTime&)dt1).ToUnitime() > dt2.ToUnitime();
|
| + }
|
| + friend FX_BOOL operator>=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| + return dt1.ToUnitime() >= dt2.ToUnitime();
|
| + }
|
| + friend FX_BOOL operator>=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| + return dt1.ToUnitime() >= ((const CFX_DateTime&)dt2).ToUnitime();
|
| + }
|
| + friend FX_BOOL operator>=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| + return ((const CFX_DateTime&)dt1).ToUnitime() >= dt2.ToUnitime();
|
| + }
|
| + friend FX_BOOL operator<(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| + return dt1.ToUnitime() < dt2.ToUnitime();
|
| + }
|
| + friend FX_BOOL operator<(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| + return dt1.ToUnitime() < ((const CFX_DateTime&)dt2).ToUnitime();
|
| + }
|
| + friend FX_BOOL operator<(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| + return ((const CFX_DateTime&)dt1).ToUnitime() < dt2.ToUnitime();
|
| + }
|
| + friend FX_BOOL operator<=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) {
|
| + return dt1.ToUnitime() <= dt2.ToUnitime();
|
| + }
|
| + friend FX_BOOL operator<=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) {
|
| + return dt1.ToUnitime() <= ((const CFX_DateTime&)dt2).ToUnitime();
|
| + }
|
| + friend FX_BOOL operator<=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) {
|
| + return ((const CFX_DateTime&)dt1).ToUnitime() <= dt2.ToUnitime();
|
| + }
|
| +
|
| + private:
|
| + FX_DATETIME m_DateTime;
|
| +};
|
| +#endif
|
|
|