22 #ifndef MamaDateTimeHpp__
23 #define MamaDateTimeHpp__
25 #include <mama/datetime.h>
85 {
return ! operator== (rhs); }
91 void setEpochTime (mama_u32_t secondsSinceEpoch,
92 mama_u32_t microseconds,
93 mamaDateTimePrecision precision =
94 MAMA_DATE_TIME_PREC_UNKNOWN);
95 void setEpochTimeF64 (
double secondsSinceEpoch);
96 void setEpochTimeMilliseconds (
97 mama_u64_t millisecondsSinceEpoch);
98 void setEpochTimeMicroseconds (
99 mama_u64_t microsecondsSinceEpoch);
100 void setWithHints (mama_u32_t secondsSinceEpoch,
101 mama_u32_t microseconds,
102 mamaDateTimePrecision precision =
103 MAMA_DATE_TIME_PREC_UNKNOWN,
104 mamaDateTimeHints hints = 0);
105 void setPrecision (mamaDateTimePrecision precision);
106 void setFromString (
const char* str,
108 void setFromString (
const char* str,
112 void setToMidnightToday (
const MamaTimeZone* tz = NULL);
136 mama_u32_t microsecond,
137 mamaDateTimePrecision precision = MAMA_DATE_TIME_PREC_UNKNOWN,
155 mama_u32_t microsecond,
156 mamaDateTimePrecision precision = MAMA_DATE_TIME_PREC_UNKNOWN,
208 void addSeconds (mama_f64_t seconds);
209 void addSeconds (mama_i32_t seconds);
210 void addMicroseconds (mama_i64_t microSeconds);
217 mama_u64_t getEpochTimeMicroseconds ()
const;
226 mama_u64_t getEpochTimeMicroseconds (
const MamaTimeZone& tz)
const;
228 mama_u64_t getEpochTimeMilliseconds ()
const;
229 mama_u64_t getEpochTimeMilliseconds (
const MamaTimeZone& tz)
const;
231 mama_f64_t getEpochTimeSeconds ()
const;
232 mama_f64_t getEpochTimeSeconds (
const MamaTimeZone& tz)
const;
241 mama_f64_t getEpochTimeSecondsWithCheck()
const;
243 void getAsString (
char* result,
244 mama_size_t maxLen)
const;
245 void getTimeAsString (
char* result,
246 mama_size_t maxLen)
const;
247 void getDateAsString (
char* result,
248 mama_size_t maxLen)
const;
256 const char* getAsString ()
const;
257 const char* getTimeAsString ()
const;
258 const char* getDateAsString ()
const;
260 void getAsFormattedString (
char* result,
262 const char* format)
const;
263 void getAsFormattedString (
char* result,
268 void getAsStructTimeVal (
struct timeval& result)
const;
269 void getAsStructTimeVal (
struct timeval& result,
272 void getAsStructTm (
struct tm& result)
const;
273 void getAsStructTm (
struct tm& result,
276 mama_u32_t getYear ()
const;
277 mama_u32_t getMonth ()
const;
278 mama_u32_t getDay ()
const;
279 mama_u32_t getHour ()
const;
280 mama_u32_t getMinute ()
const;
281 mama_u32_t getSecond ()
const;
282 mama_u32_t getMicrosecond ()
const;
283 mamaDayOfWeek getDayOfWeek ()
const;
288 bool hasTime()
const;
293 bool hasDate()
const;
295 mamaDateTime getCValue();
296 const mamaDateTime getCValue()
const;
299 mama_u64_t mDateTime;
300 mutable char* mStrRep;
315 #endif // MamaDateTimeHpp__