All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | List of all members
openfluid::core::DateTime Class Reference

Class for management of date and time information. More...

#include <core/DateTime.hpp>

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)
 
bool setFromString (const std::string &DateTimeStr, const std::string &FormatStr)
 
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)
 
DateTimeoperator= (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)
 

Detailed Description

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
// 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);
Diff = SecondDate - FirstDate;
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;

Constructor & Destructor Documentation

openfluid::core::DateTime::DateTime ( )

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

openfluid::core::DateTime::~DateTime ( )

Destructor

Member Function Documentation

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 ( )
inlinestatic

Returns the number of seconds for one day

static RawTime_t openfluid::core::DateTime::Days ( int  N)
inlinestatic

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

Returns
a string
std::string openfluid::core::DateTime::getAsString ( std::string  Format) const

Returns date-time as string, using strftime() format string

Parameters
[in]Formatstrftime()-like format string
Returns
a string
std::string openfluid::core::DateTime::getDateAsISOString ( ) const

Returns date as string, using format YYYY-MM-DD

Returns
a string
int openfluid::core::DateTime::getDay ( ) const
inline

Returns Day [1-31]

Returns
an int
int openfluid::core::DateTime::getHour ( ) const
inline

Returns Hour [0-23]

Returns
an int
int openfluid::core::DateTime::getMinute ( ) const
inline

Returns Minute [0-59]

Returns
an int
int openfluid::core::DateTime::getMonth ( ) const
inline

Retourns Month [1-12]

Returns
an int
static int openfluid::core::DateTime::getNumOfDaysInMonth ( int  Year,
int  Month 
)
static

Returns the number of days in the given month for the given year

RawTime_t openfluid::core::DateTime::getRawTime ( ) const

Returns date-time in raw format (number of seconds since first day of 4713 BC)

Returns
a rawtime_t
int openfluid::core::DateTime::getSecond ( ) const
inline

Returns Second [0-59]

Returns
an int
std::string openfluid::core::DateTime::getTimeAsISOString ( ) const

Returns time as string, using format hh:mm:ss

Returns
a string
int openfluid::core::DateTime::getYear ( ) const
inline

Returns Year (4 digits)

Returns
an int
static RawTime_t openfluid::core::DateTime::Hour ( )
inlinestatic

Returns the number of seconds for one hour

static RawTime_t openfluid::core::DateTime::Hours ( int  N)
inlinestatic

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 ( )
inlinestatic

Returns the number of seconds for one minute

static RawTime_t openfluid::core::DateTime::Minutes ( int  N)
inlinestatic

Returns the number of seconds for N minutes

bool openfluid::core::DateTime::operator!= ( const DateTime Right) const

Difference operator

DateTime openfluid::core::DateTime::operator+ ( const RawTime_t Seconds) const

Add operator

DateTime openfluid::core::DateTime::operator- ( const RawTime_t Seconds) const

Subtract 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

DateTime& openfluid::core::DateTime::operator= ( const DateTime Right)

Assignment 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)

bool openfluid::core::DateTime::setFromString ( const std::string &  DateTimeStr,
const std::string &  FormatStr 
)

Sets the date and time from a string using the given format

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 ( )
inlinestatic

Returns the number of seconds for one week

static RawTime_t openfluid::core::DateTime::Weeks ( int  N)
inlinestatic

Returns the number of seconds for N weeks


The documentation for this class was generated from the following file: