ezEngine  Milestone 7
Timestamp.h
1 #pragma once
2 
3 #include <Foundation/Time/Time.h>
4 
6 {
7  enum Enum
8  {
13  };
14 };
15 
21 class EZ_FOUNDATION_DLL ezTimestamp
22 {
23 public:
24  struct CompareMode
25  {
26  enum Enum
27  {
30  };
31  };
35  static const ezTimestamp CurrentTimestamp(); // [tested]
36 
38 
39 // *** Constructors ***
40 public:
42  ezTimestamp(); // [tested]
43 
45  ezTimestamp(ezInt64 iTimeValue, ezSIUnitOfTime::Enum unitOfTime); // [tested]
46 
47 // *** Public Functions ***
48 public:
50  void Invalidate(); // [tested]
51 
53  bool IsValid() const; // [tested]
54 
56  ezInt64 GetInt64(ezSIUnitOfTime::Enum unitOfTime) const; // [tested]
57 
59  void SetInt64(ezInt64 iTimeValue, ezSIUnitOfTime::Enum unitOfTime); // [tested]
60 
66  bool IsEqual(const ezTimestamp& rhs, CompareMode::Enum mode) const; // [tested]
67 
68 // *** Operators ***
69 public:
70 
72  void operator += (const ezTime& timeSpan); // [tested]
73 
75  void operator -= (const ezTime& timeSpan); // [tested]
76 
78  const ezTime operator - (const ezTimestamp& other) const; // [tested]
79 
81  const ezTimestamp operator + (const ezTime& timeSpan) const; // [tested]
82 
84  const ezTimestamp operator - (const ezTime& timeSpan) const; // [tested]
85 
86 
87 private:
89  ezInt64 m_iTimestamp;
90 };
91 
93 const ezTimestamp operator+ (ezTime& timeSpan, const ezTimestamp& timestamp);
94 
95 
100 class EZ_FOUNDATION_DLL ezDateTime
101 {
102 public:
106  ezDateTime(); // [tested]
107 
109  ezDateTime(ezTimestamp timestamp); // [tested]
110 
116  const ezTimestamp GetTimestamp() const; // [tested]
117 
123  bool SetTimestamp(ezTimestamp timestamp); // [tested]
124 
125  // *** Accessors ***
126 public:
128  ezUInt32 GetYear() const; // [tested]
129 
131  void SetYear(ezInt16 iYear); // [tested]
132 
134  ezUInt8 GetMonth() const; // [tested]
135 
137  void SetMonth(ezUInt8 uiMonth); // [tested]
138 
140  ezUInt8 GetDay() const; // [tested]
141 
143  void SetDay(ezUInt8 uiDay); // [tested]
144 
146  ezUInt8 GetHour() const; // [tested]
147 
149  void SetHour(ezUInt8 uiHour); // [tested]
150 
152  ezUInt8 GetMinute() const; // [tested]
153 
155  void SetMinute(ezUInt8 uiMinute); // [tested]
156 
158  ezUInt8 GetSecond() const; // [tested]
159 
161  void SetSecond(ezUInt8 uiSecond); // [tested]
162 
164  ezUInt32 GetMicroseconds() const; // [tested]
165 
167  void SetMicroseconds(ezUInt32 uiMicroSeconds); // [tested]
168 
169 private:
173  ezInt16 m_iYear;
175  ezUInt8 m_uiMonth;
177  ezUInt8 m_uiDay;
179  ezUInt8 m_uiHour;
181  ezUInt8 m_uiMinute;
183  ezUInt8 m_uiSecond;
184 };
185 
186 #include <Foundation/Time/Implementation/Timestamp_inl.h>
187