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 |