| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #ifndef XFA_FGAS_LOCALIZATION_FGAS_DATETIME_H_ | 7 #ifndef XFA_FGAS_LOCALIZATION_FGAS_DATETIME_H_ |
| 8 #define XFA_FGAS_LOCALIZATION_FGAS_DATETIME_H_ | 8 #define XFA_FGAS_LOCALIZATION_FGAS_DATETIME_H_ |
| 9 | 9 |
| 10 #include "core/fxcrt/fx_system.h" | 10 #include "core/fxcrt/fx_system.h" |
| 11 | 11 |
| 12 class CFX_Unitime; | 12 class CFX_Unitime; |
| 13 class CFX_DateTime; | 13 class CFX_DateTime; |
| 14 | 14 |
| 15 typedef int64_t FX_UNITIME; | 15 typedef int64_t FX_UNITIME; |
| 16 enum FX_WEEKDAY { | 16 enum FX_WEEKDAY { |
| 17 FX_Sunday = 0, | 17 FX_Sunday = 0, |
| 18 FX_Monday, | 18 FX_Monday, |
| 19 FX_Tuesday, | 19 FX_Tuesday, |
| 20 FX_Wednesday, | 20 FX_Wednesday, |
| 21 FX_Thursday, | 21 FX_Thursday, |
| 22 FX_Friday, | 22 FX_Friday, |
| 23 FX_Saturday, | 23 FX_Saturday, |
| 24 }; | 24 }; |
| 25 | 25 |
| 26 FX_BOOL FX_IsLeapYear(int32_t iYear); | 26 bool FX_IsLeapYear(int32_t iYear); |
| 27 int32_t FX_DaysInYear(int32_t iYear); | 27 int32_t FX_DaysInYear(int32_t iYear); |
| 28 uint8_t FX_DaysInMonth(int32_t iYear, uint8_t iMonth); | 28 uint8_t FX_DaysInMonth(int32_t iYear, uint8_t iMonth); |
| 29 | 29 |
| 30 class CFX_Unitime { | 30 class CFX_Unitime { |
| 31 public: | 31 public: |
| 32 CFX_Unitime() { m_iUnitime = 0; } | 32 CFX_Unitime() { m_iUnitime = 0; } |
| 33 CFX_Unitime(FX_UNITIME iUnitime) { m_iUnitime = iUnitime; } | 33 CFX_Unitime(FX_UNITIME iUnitime) { m_iUnitime = iUnitime; } |
| 34 CFX_Unitime(const CFX_Unitime& unitime) { m_iUnitime = unitime.m_iUnitime; } | 34 CFX_Unitime(const CFX_Unitime& unitime) { m_iUnitime = unitime.m_iUnitime; } |
| 35 operator FX_UNITIME*() { return &m_iUnitime; } | 35 operator FX_UNITIME*() { return &m_iUnitime; } |
| 36 operator FX_UNITIME const*() const { return &m_iUnitime; } | 36 operator FX_UNITIME const*() const { return &m_iUnitime; } |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 int32_t GetYear() const; | 73 int32_t GetYear() const; |
| 74 uint8_t GetMonth() const; | 74 uint8_t GetMonth() const; |
| 75 uint8_t GetDay() const; | 75 uint8_t GetDay() const; |
| 76 FX_WEEKDAY GetDayOfWeek() const; | 76 FX_WEEKDAY GetDayOfWeek() const; |
| 77 uint16_t GetDayOfYear() const; | 77 uint16_t GetDayOfYear() const; |
| 78 int64_t GetDayOfAD() const; | 78 int64_t GetDayOfAD() const; |
| 79 uint8_t GetHour() const; | 79 uint8_t GetHour() const; |
| 80 uint8_t GetMinute() const; | 80 uint8_t GetMinute() const; |
| 81 uint8_t GetSecond() const; | 81 uint8_t GetSecond() const; |
| 82 uint16_t GetMillisecond() const; | 82 uint16_t GetMillisecond() const; |
| 83 FX_BOOL AddYears(int32_t iYears); | 83 bool AddYears(int32_t iYears); |
| 84 FX_BOOL AddMonths(int32_t iMonths); | 84 bool AddMonths(int32_t iMonths); |
| 85 FX_BOOL AddDays(int32_t iDays); | 85 bool AddDays(int32_t iDays); |
| 86 FX_BOOL AddHours(int32_t iHours); | 86 bool AddHours(int32_t iHours); |
| 87 FX_BOOL AddMinutes(int32_t iMinutes); | 87 bool AddMinutes(int32_t iMinutes); |
| 88 FX_BOOL AddSeconds(int32_t iSeconds); | 88 bool AddSeconds(int32_t iSeconds); |
| 89 FX_BOOL AddMilliseconds(int32_t iMilliseconds); | 89 bool AddMilliseconds(int32_t iMilliseconds); |
| 90 friend CFX_Unitime operator+(const CFX_Unitime& t1, const CFX_Unitime& t2) { | 90 friend CFX_Unitime operator+(const CFX_Unitime& t1, const CFX_Unitime& t2) { |
| 91 return CFX_Unitime(t1.m_iUnitime + t2.m_iUnitime); | 91 return CFX_Unitime(t1.m_iUnitime + t2.m_iUnitime); |
| 92 } | 92 } |
| 93 friend CFX_Unitime operator+(const CFX_Unitime& t1, FX_UNITIME t2) { | 93 friend CFX_Unitime operator+(const CFX_Unitime& t1, FX_UNITIME t2) { |
| 94 return CFX_Unitime(t1.m_iUnitime + t2); | 94 return CFX_Unitime(t1.m_iUnitime + t2); |
| 95 } | 95 } |
| 96 friend CFX_Unitime operator+(FX_UNITIME t1, const CFX_Unitime& t2) { | 96 friend CFX_Unitime operator+(FX_UNITIME t1, const CFX_Unitime& t2) { |
| 97 return CFX_Unitime(t1 + t2.m_iUnitime); | 97 return CFX_Unitime(t1 + t2.m_iUnitime); |
| 98 } | 98 } |
| 99 friend CFX_Unitime operator-(const CFX_Unitime& t1, const CFX_Unitime& t2) { | 99 friend CFX_Unitime operator-(const CFX_Unitime& t1, const CFX_Unitime& t2) { |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 return *this; | 236 return *this; |
| 237 } | 237 } |
| 238 CFX_DateTime& operator-=(const CFX_DateTime& dt) { | 238 CFX_DateTime& operator-=(const CFX_DateTime& dt) { |
| 239 FromUnitime(ToUnitime() - dt.ToUnitime()); | 239 FromUnitime(ToUnitime() - dt.ToUnitime()); |
| 240 return *this; | 240 return *this; |
| 241 } | 241 } |
| 242 CFX_DateTime& operator-=(const FX_DATETIME& dt) { | 242 CFX_DateTime& operator-=(const FX_DATETIME& dt) { |
| 243 FromUnitime(ToUnitime() - ((const CFX_DateTime&)dt).ToUnitime()); | 243 FromUnitime(ToUnitime() - ((const CFX_DateTime&)dt).ToUnitime()); |
| 244 return *this; | 244 return *this; |
| 245 } | 245 } |
| 246 virtual FX_BOOL Set(int32_t year, | 246 virtual bool Set(int32_t year, |
| 247 uint8_t month, | 247 uint8_t month, |
| 248 uint8_t day, | 248 uint8_t day, |
| 249 uint8_t hour = 0, | 249 uint8_t hour = 0, |
| 250 uint8_t minute = 0, | 250 uint8_t minute = 0, |
| 251 uint8_t second = 0, | 251 uint8_t second = 0, |
| 252 uint16_t millisecond = 0); | 252 uint16_t millisecond = 0); |
| 253 virtual FX_BOOL FromUnitime(FX_UNITIME t); | 253 virtual bool FromUnitime(FX_UNITIME t); |
| 254 virtual FX_UNITIME ToUnitime() const; | 254 virtual FX_UNITIME ToUnitime() const; |
| 255 virtual int32_t GetYear() const; | 255 virtual int32_t GetYear() const; |
| 256 virtual uint8_t GetMonth() const; | 256 virtual uint8_t GetMonth() const; |
| 257 virtual uint8_t GetDay() const; | 257 virtual uint8_t GetDay() const; |
| 258 virtual FX_WEEKDAY GetDayOfWeek() const; | 258 virtual FX_WEEKDAY GetDayOfWeek() const; |
| 259 virtual uint16_t GetDayOfYear() const; | 259 virtual uint16_t GetDayOfYear() const; |
| 260 virtual int64_t GetDayOfAD() const; | 260 virtual int64_t GetDayOfAD() const; |
| 261 virtual uint8_t GetHour() const; | 261 virtual uint8_t GetHour() const; |
| 262 virtual uint8_t GetMinute() const; | 262 virtual uint8_t GetMinute() const; |
| 263 virtual uint8_t GetSecond() const; | 263 virtual uint8_t GetSecond() const; |
| 264 virtual uint16_t GetMillisecond() const; | 264 virtual uint16_t GetMillisecond() const; |
| 265 virtual FX_BOOL AddYears(int32_t iYears); | 265 virtual bool AddYears(int32_t iYears); |
| 266 virtual FX_BOOL AddMonths(int32_t iMonths); | 266 virtual bool AddMonths(int32_t iMonths); |
| 267 virtual FX_BOOL AddDays(int32_t iDays); | 267 virtual bool AddDays(int32_t iDays); |
| 268 virtual FX_BOOL AddHours(int32_t iHours); | 268 virtual bool AddHours(int32_t iHours); |
| 269 virtual FX_BOOL AddMinutes(int32_t iMinutes); | 269 virtual bool AddMinutes(int32_t iMinutes); |
| 270 virtual FX_BOOL AddSeconds(int32_t iSeconds); | 270 virtual bool AddSeconds(int32_t iSeconds); |
| 271 virtual FX_BOOL AddMilliseconds(int32_t iMilliseconds); | 271 virtual bool AddMilliseconds(int32_t iMilliseconds); |
| 272 friend CFX_DateTime operator+(const CFX_DateTime& dt1, | 272 friend CFX_DateTime operator+(const CFX_DateTime& dt1, |
| 273 const CFX_DateTime& dt2) { | 273 const CFX_DateTime& dt2) { |
| 274 CFX_DateTime dt; | 274 CFX_DateTime dt; |
| 275 dt.FromUnitime(dt1.ToUnitime() + dt2.ToUnitime()); | 275 dt.FromUnitime(dt1.ToUnitime() + dt2.ToUnitime()); |
| 276 return dt; | 276 return dt; |
| 277 } | 277 } |
| 278 friend CFX_DateTime operator+(const CFX_DateTime& dt1, | 278 friend CFX_DateTime operator+(const CFX_DateTime& dt1, |
| 279 const FX_DATETIME& dt2) { | 279 const FX_DATETIME& dt2) { |
| 280 CFX_DateTime dt; | 280 CFX_DateTime dt; |
| 281 dt.FromUnitime(dt1.ToUnitime() + ((const CFX_DateTime&)dt2).ToUnitime()); | 281 dt.FromUnitime(dt1.ToUnitime() + ((const CFX_DateTime&)dt2).ToUnitime()); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 298 CFX_DateTime dt; | 298 CFX_DateTime dt; |
| 299 dt.FromUnitime(dt1.ToUnitime() - ((const CFX_DateTime&)dt2).ToUnitime()); | 299 dt.FromUnitime(dt1.ToUnitime() - ((const CFX_DateTime&)dt2).ToUnitime()); |
| 300 return dt; | 300 return dt; |
| 301 } | 301 } |
| 302 friend CFX_DateTime operator-(const FX_DATETIME& dt1, | 302 friend CFX_DateTime operator-(const FX_DATETIME& dt1, |
| 303 const CFX_DateTime& dt2) { | 303 const CFX_DateTime& dt2) { |
| 304 CFX_DateTime dt; | 304 CFX_DateTime dt; |
| 305 dt.FromUnitime(((const CFX_DateTime&)dt1).ToUnitime() - dt2.ToUnitime()); | 305 dt.FromUnitime(((const CFX_DateTime&)dt1).ToUnitime() - dt2.ToUnitime()); |
| 306 return dt; | 306 return dt; |
| 307 } | 307 } |
| 308 friend FX_BOOL operator==(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { | 308 friend bool operator==(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { |
| 309 return FXSYS_memcmp(static_cast<const FX_DATETIME*>(dt1), | 309 return FXSYS_memcmp(static_cast<const FX_DATETIME*>(dt1), |
| 310 static_cast<const FX_DATETIME*>(dt2), | 310 static_cast<const FX_DATETIME*>(dt2), |
| 311 sizeof(FX_DATETIME)) == 0; | 311 sizeof(FX_DATETIME)) == 0; |
| 312 } | 312 } |
| 313 friend FX_BOOL operator==(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { | 313 friend bool operator==(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { |
| 314 return FXSYS_memcmp(static_cast<const FX_DATETIME*>(dt1), &dt2, | 314 return FXSYS_memcmp(static_cast<const FX_DATETIME*>(dt1), &dt2, |
| 315 sizeof(FX_DATETIME)) == 0; | 315 sizeof(FX_DATETIME)) == 0; |
| 316 } | 316 } |
| 317 friend FX_BOOL operator==(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { | 317 friend bool operator==(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { |
| 318 return FXSYS_memcmp(&dt1, static_cast<const FX_DATETIME*>(dt2), | 318 return FXSYS_memcmp(&dt1, static_cast<const FX_DATETIME*>(dt2), |
| 319 sizeof(FX_DATETIME)) == 0; | 319 sizeof(FX_DATETIME)) == 0; |
| 320 } | 320 } |
| 321 friend FX_BOOL operator!=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { | 321 friend bool operator!=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { |
| 322 return FXSYS_memcmp(static_cast<const FX_DATETIME*>(dt1), | 322 return FXSYS_memcmp(static_cast<const FX_DATETIME*>(dt1), |
| 323 static_cast<const FX_DATETIME*>(dt2), | 323 static_cast<const FX_DATETIME*>(dt2), |
| 324 sizeof(FX_DATETIME)) != 0; | 324 sizeof(FX_DATETIME)) != 0; |
| 325 } | 325 } |
| 326 friend FX_BOOL operator!=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { | 326 friend bool operator!=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { |
| 327 return FXSYS_memcmp(static_cast<const FX_DATETIME*>(dt1), &dt2, | 327 return FXSYS_memcmp(static_cast<const FX_DATETIME*>(dt1), &dt2, |
| 328 sizeof(FX_DATETIME)) != 0; | 328 sizeof(FX_DATETIME)) != 0; |
| 329 } | 329 } |
| 330 friend FX_BOOL operator!=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { | 330 friend bool operator!=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { |
| 331 return FXSYS_memcmp(&dt1, static_cast<const FX_DATETIME*>(dt2), | 331 return FXSYS_memcmp(&dt1, static_cast<const FX_DATETIME*>(dt2), |
| 332 sizeof(FX_DATETIME)) != 0; | 332 sizeof(FX_DATETIME)) != 0; |
| 333 } | 333 } |
| 334 friend FX_BOOL operator>(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { | 334 friend bool operator>(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { |
| 335 return dt1.ToUnitime() > dt2.ToUnitime(); | 335 return dt1.ToUnitime() > dt2.ToUnitime(); |
| 336 } | 336 } |
| 337 friend FX_BOOL operator>(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { | 337 friend bool operator>(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { |
| 338 return dt1.ToUnitime() > ((const CFX_DateTime&)dt2).ToUnitime(); | 338 return dt1.ToUnitime() > ((const CFX_DateTime&)dt2).ToUnitime(); |
| 339 } | 339 } |
| 340 friend FX_BOOL operator>(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { | 340 friend bool operator>(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { |
| 341 return ((const CFX_DateTime&)dt1).ToUnitime() > dt2.ToUnitime(); | 341 return ((const CFX_DateTime&)dt1).ToUnitime() > dt2.ToUnitime(); |
| 342 } | 342 } |
| 343 friend FX_BOOL operator>=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { | 343 friend bool operator>=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { |
| 344 return dt1.ToUnitime() >= dt2.ToUnitime(); | 344 return dt1.ToUnitime() >= dt2.ToUnitime(); |
| 345 } | 345 } |
| 346 friend FX_BOOL operator>=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { | 346 friend bool operator>=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { |
| 347 return dt1.ToUnitime() >= ((const CFX_DateTime&)dt2).ToUnitime(); | 347 return dt1.ToUnitime() >= ((const CFX_DateTime&)dt2).ToUnitime(); |
| 348 } | 348 } |
| 349 friend FX_BOOL operator>=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { | 349 friend bool operator>=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { |
| 350 return ((const CFX_DateTime&)dt1).ToUnitime() >= dt2.ToUnitime(); | 350 return ((const CFX_DateTime&)dt1).ToUnitime() >= dt2.ToUnitime(); |
| 351 } | 351 } |
| 352 friend FX_BOOL operator<(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { | 352 friend bool operator<(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { |
| 353 return dt1.ToUnitime() < dt2.ToUnitime(); | 353 return dt1.ToUnitime() < dt2.ToUnitime(); |
| 354 } | 354 } |
| 355 friend FX_BOOL operator<(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { | 355 friend bool operator<(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { |
| 356 return dt1.ToUnitime() < ((const CFX_DateTime&)dt2).ToUnitime(); | 356 return dt1.ToUnitime() < ((const CFX_DateTime&)dt2).ToUnitime(); |
| 357 } | 357 } |
| 358 friend FX_BOOL operator<(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { | 358 friend bool operator<(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { |
| 359 return ((const CFX_DateTime&)dt1).ToUnitime() < dt2.ToUnitime(); | 359 return ((const CFX_DateTime&)dt1).ToUnitime() < dt2.ToUnitime(); |
| 360 } | 360 } |
| 361 friend FX_BOOL operator<=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { | 361 friend bool operator<=(const CFX_DateTime& dt1, const CFX_DateTime& dt2) { |
| 362 return dt1.ToUnitime() <= dt2.ToUnitime(); | 362 return dt1.ToUnitime() <= dt2.ToUnitime(); |
| 363 } | 363 } |
| 364 friend FX_BOOL operator<=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { | 364 friend bool operator<=(const CFX_DateTime& dt1, const FX_DATETIME& dt2) { |
| 365 return dt1.ToUnitime() <= ((const CFX_DateTime&)dt2).ToUnitime(); | 365 return dt1.ToUnitime() <= ((const CFX_DateTime&)dt2).ToUnitime(); |
| 366 } | 366 } |
| 367 friend FX_BOOL operator<=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { | 367 friend bool operator<=(const FX_DATETIME& dt1, const CFX_DateTime& dt2) { |
| 368 return ((const CFX_DateTime&)dt1).ToUnitime() <= dt2.ToUnitime(); | 368 return ((const CFX_DateTime&)dt1).ToUnitime() <= dt2.ToUnitime(); |
| 369 } | 369 } |
| 370 | 370 |
| 371 private: | 371 private: |
| 372 FX_DATETIME m_DateTime; | 372 FX_DATETIME m_DateTime; |
| 373 }; | 373 }; |
| 374 | 374 |
| 375 #endif // XFA_FGAS_LOCALIZATION_FGAS_DATETIME_H_ | 375 #endif // XFA_FGAS_LOCALIZATION_FGAS_DATETIME_H_ |
| OLD | NEW |