41 #ifndef __DATETIME_HPP__
42 #define __DATETIME_HPP__
45 #include <sys/types.h>
52 namespace openfluid {
namespace core {
158 void updateYMDHMSFromRawTime();
160 void updateRawTimeFromYMDHMS();
173 DateTime(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
188 bool set(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
194 void set(
const RawTime_t& SecondsSince0000);
200 bool setFromISOString(
const std::string& DateTimeStr);
206 bool setFromString(
const std::string& DateTimeStr,
const std::string& FormatStr);
213 int getYear()
const {
return (m_TM.tm_year+1900); };
225 int getDay()
const {
return m_TM.tm_mday;};
256 std::string getAsISOString()
const;
263 std::string getAsString(std::string Format)
const;
270 std::string getDateAsISOString()
const;
276 std::string getTimeAsISOString()
const;
282 void addSeconds(
const RawTime_t& Seconds);
287 void subtractSeconds(
const RawTime_t& Seconds);
313 bool operator ==(
const DateTime &Right)
const;
318 bool operator !=(
const DateTime &Right)
const;
323 bool operator >(
const DateTime &Right)
const;
328 bool operator >=(
const DateTime &Right)
const;
333 bool operator <(
const DateTime &Right)
const;
338 bool operator <=(
const DateTime &Right)
const;
393 static bool isLeapYear(
int Year);
398 static int getNumOfDaysInMonth(
int Year,
int Month);
403 static bool isValidDateTime(
int Year,
int Month,
int Day,
int Hour,
int Minute,
int Second);
408 bool isSameDate(
const DateTime& DT)
const;
413 bool isSameTime(
const DateTime& DT)
const;
int getHour() const
Definition: DateTime.hpp:231
unsigned long long TimeIndex_t
Definition: DateTime.hpp:62
Class for management of date and time information.
Definition: DateTime.hpp:131
static RawTime_t Hour()
Definition: DateTime.hpp:363
int getMonth() const
Definition: DateTime.hpp:219
unsigned long long RawTime_t
Definition: DateTime.hpp:57
static RawTime_t Week()
Definition: DateTime.hpp:383
static RawTime_t Days(int N)
Definition: DateTime.hpp:378
static RawTime_t Day()
Definition: DateTime.hpp:373
static RawTime_t Hours(int N)
Definition: DateTime.hpp:368
int getSecond() const
Definition: DateTime.hpp:243
static RawTime_t Weeks(int N)
Definition: DateTime.hpp:388
int getYear() const
Definition: DateTime.hpp:213
static RawTime_t Minute()
Definition: DateTime.hpp:353
int getMinute() const
Definition: DateTime.hpp:237
unsigned long long Duration_t
Definition: DateTime.hpp:68
int getDay() const
Definition: DateTime.hpp:225
static RawTime_t Minutes(int N)
Definition: DateTime.hpp:358
#define DLLEXPORT
Definition: dllexport.hpp:51