Class for management of date and time information. More...
Public Member Functions | |
DateTime () | |
DateTime (int Year, int Month, int Day, int Hour, int Minute, int Second) | |
DateTime (rawtime_t SecondsSince0000) | |
~DateTime () | |
bool | set (int Year, int Month, int Day, int Hour, int Minute, int Second) |
void | set (const rawtime_t &SecondsSince0000) |
bool | setFromISOString (const std::string &DateTimeStr) |
int | getYear () const |
int | getMonth () const |
int | getDay () const |
int | getHour () const |
int | getMinute () const |
int | getSecond () const |
rawtime_t | getRawTime () const |
std::string | getAsISOString () const |
std::string | getAsString (std::string Format) const |
std::string | getDateAsISOString () const |
std::string | getTimeAsISOString () const |
void | addSeconds (const rawtime_t &Seconds) |
void | subtractSeconds (const rawtime_t &Seconds) |
rawtime_t | diffInSeconds (const DateTime &DT) const |
bool | isBetween (const DateTime &FirstDT, const DateTime &SecondDT) |
bool | isStrictlyBetween (const DateTime &FirstDT, const DateTime &SecondDT) |
DateTime & | operator= (const DateTime &Right) |
bool | operator== (const DateTime &Right) const |
bool | operator!= (const DateTime &Right) const |
bool | operator> (const DateTime &Right) const |
bool | operator>= (const DateTime &Right) const |
bool | operator< (const DateTime &Right) const |
bool | operator<= (const DateTime &Right) const |
DateTime | operator+ (const rawtime_t &Seconds) const |
DateTime | operator- (const rawtime_t &Seconds) const |
bool | isSameDate (const DateTime &DT) const |
bool | isSameTime (const DateTime &DT) const |
Static Public Member Functions | |
static rawtime_t | Minute () |
static rawtime_t | Minutes (int N) |
static rawtime_t | Hour () |
static rawtime_t | Hours (int N) |
static rawtime_t | Day () |
static rawtime_t | Days (int N) |
static rawtime_t | Week () |
static rawtime_t | Weeks (int N) |
static bool | isLeapYear (int Year) |
static int | getNumOfDaysInMonth (int Year, int Month) |
static bool | isValidDateTime (int Year, int Month, int Day, int Hour, int Minute, int Second) |
Class for management of date and time information.
Class for management of date and time information. It includes arithmetics and comparisons operations.
Sources:
Example : creating a date
openfluid::core::DateTime aDate(2009,01,25,12,05,00);
Example : adding time span to a date
// adding 45 seconds aDate.addSeconds(45); // adding 5 minutes aDate.addSeconds(openfluid::core::DateTime::Minutes(5)); // adding an hour aDate.addSeconds(openfluid::core::DateTime::Hour()); // adding 60 days aDate.addSeconds(openfluid::core::DateTime::Days(60));
Example : subtracting time span to a date
// subtracting 10 seconds aDate.subtractSeconds(10); // subtracting 30 days aDate.subtractSeconds(openfluid::core::DateTime::Days(30));
Example : getting difference in seconds between two dates
openfluid::core::DateTime FirstDate(2009,01,25,12,05,00); openfluid::core::DateTime SecondDate(2009,02,28,00,00,00); openfluid::core::rawtime_t Diff; Diff = SecondDate - FirstDate; if (Diff > openfluid::core::DateTime::Days(60)) std::cout << "The difference between the two dates is greater than 60 days" << std::end; else std::cout << "The difference between the two dates is lesser than 60 days" << std::end;
Default constructor
openfluid::core::DateTime::DateTime | ( | int | Year, |
int | Month, | ||
int | Day, | ||
int | Hour, | ||
int | Minute, | ||
int | Second | ||
) |
Constructor
openfluid::core::DateTime::DateTime | ( | rawtime_t | SecondsSince0000 | ) |
Constructor
Destructor
void openfluid::core::DateTime::addSeconds | ( | const rawtime_t & | Seconds | ) |
Adds the given seconds to the current date and time
static rawtime_t openfluid::core::DateTime::Day | ( | ) | [inline, static] |
Returns the number of seconds for one day
static rawtime_t openfluid::core::DateTime::Days | ( | int | N | ) | [inline, static] |
Returns the number of seconds for N days
rawtime_t openfluid::core::DateTime::diffInSeconds | ( | const DateTime & | DT | ) | const |
Returns the difference in seconds between the date-time and the given date-time (Self - Given)
std::string openfluid::core::DateTime::getAsISOString | ( | ) | const |
Returns date-time as string, using format YYYT-MM-DD hh:mm:ss
std::string openfluid::core::DateTime::getAsString | ( | std::string | Format | ) | const |
Returns date-time as string, using strftime() format string
[in] | Format | strftime()-like format string |
std::string openfluid::core::DateTime::getDateAsISOString | ( | ) | const |
Returns date as string, using format YYYY-MM-DD
int openfluid::core::DateTime::getDay | ( | ) | const [inline] |
Returns Day [1-31]
int openfluid::core::DateTime::getHour | ( | ) | const [inline] |
Returns Hour [0-23]
int openfluid::core::DateTime::getMinute | ( | ) | const [inline] |
Returns Minute [0-59]
int openfluid::core::DateTime::getMonth | ( | ) | const [inline] |
Retourns Month [1-12]
static int openfluid::core::DateTime::getNumOfDaysInMonth | ( | int | Year, |
int | Month | ||
) | [static] |
Returns the number of days in the given month for the given year
Returns date-time in raw format (number of seconds since first day of 4713 BC)
int openfluid::core::DateTime::getSecond | ( | ) | const [inline] |
Returns Second [0-59]
std::string openfluid::core::DateTime::getTimeAsISOString | ( | ) | const |
Returns time as string, using format hh:mm:ss
int openfluid::core::DateTime::getYear | ( | ) | const [inline] |
Returns Year (4 digits)
static rawtime_t openfluid::core::DateTime::Hour | ( | ) | [inline, static] |
Returns the number of seconds for one hour
static rawtime_t openfluid::core::DateTime::Hours | ( | int | N | ) | [inline, static] |
Returns the number of seconds for N hours
bool openfluid::core::DateTime::isBetween | ( | const DateTime & | FirstDT, |
const DateTime & | SecondDT | ||
) |
Returns true if the date-time is between the two given date-time
static bool openfluid::core::DateTime::isLeapYear | ( | int | Year | ) | [static] |
Returns true if the given year is a leap year
bool openfluid::core::DateTime::isSameDate | ( | const DateTime & | DT | ) | const |
Returns true if the given date is the same, without comparing time parts
bool openfluid::core::DateTime::isSameTime | ( | const DateTime & | DT | ) | const |
Returns true if the given time is the same, without comparing dates
bool openfluid::core::DateTime::isStrictlyBetween | ( | const DateTime & | FirstDT, |
const DateTime & | SecondDT | ||
) |
Returns true if the date-time is strictly between the two given date-time
static bool openfluid::core::DateTime::isValidDateTime | ( | int | Year, |
int | Month, | ||
int | Day, | ||
int | Hour, | ||
int | Minute, | ||
int | Second | ||
) | [static] |
Returns true if the given date time is valid
static rawtime_t openfluid::core::DateTime::Minute | ( | ) | [inline, static] |
Returns the number of seconds for one minute
static rawtime_t openfluid::core::DateTime::Minutes | ( | int | N | ) | [inline, static] |
Returns the number of seconds for N minutes
bool openfluid::core::DateTime::operator!= | ( | const DateTime & | Right | ) | const |
Difference operator
bool openfluid::core::DateTime::operator< | ( | const DateTime & | Right | ) | const |
Lower than operator
bool openfluid::core::DateTime::operator<= | ( | const DateTime & | Right | ) | const |
Lower than or equal operator
bool openfluid::core::DateTime::operator== | ( | const DateTime & | Right | ) | const |
Equal operator
bool openfluid::core::DateTime::operator> | ( | const DateTime & | Right | ) | const |
Greater than operator
bool openfluid::core::DateTime::operator>= | ( | const DateTime & | Right | ) | const |
Greater than or equal operator
bool openfluid::core::DateTime::set | ( | int | Year, |
int | Month, | ||
int | Day, | ||
int | Hour, | ||
int | Minute, | ||
int | Second | ||
) |
Sets the date and time from the parameters
void openfluid::core::DateTime::set | ( | const rawtime_t & | SecondsSince0000 | ) |
Sets the date and time from the number of seconds since first day of 4713BC
bool openfluid::core::DateTime::setFromISOString | ( | const std::string & | DateTimeStr | ) |
Sets the date and time from an ISO formatted string (YYYY-MM-DD hh:mm:ss)
void openfluid::core::DateTime::subtractSeconds | ( | const rawtime_t & | Seconds | ) |
Subtracts the given seconds from the current date and time
static rawtime_t openfluid::core::DateTime::Week | ( | ) | [inline, static] |
Returns the number of seconds for one week
static rawtime_t openfluid::core::DateTime::Weeks | ( | int | N | ) | [inline, static] |
Returns the number of seconds for N weeks