ucommon
|
The Datetime class uses a julian date representation of the current year, month, and day and a integer representation of the current time. More...
#include <datetime.h>
Public Types | |
enum | index_t { year = Date::year, month = Date::month, day = Date::day, dow = Date::dow, hour = Time::hour, minute = Time::minute, second = Time::second } |
Index to components we can access. | |
Public Member Functions | |
DateTime (time_t time) | |
Construct a date and time from C library time_t type. | |
DateTime (tm_t *tm) | |
Construct a date and time from C library time structure. | |
DateTime (int year, unsigned month, unsigned day, int hour=0, int minute=0, int second=0) | |
Construct a date and time object from explicit date and time values. | |
DateTime (const DateTime &object) | |
Create a datetime object from another object. | |
DateTime (const char *pointer, size_t size=0) | |
Construct a date and time from ISO string buffer. | |
DateTime () | |
Construct a new date and time object with current date and time. | |
String | format (const char *strftime) const |
Return date and time formatted using strftime format values. | |
char * | get (char *buffer) const |
Get a ISO formatted date and time string for current object. | |
time_t | get (void) const |
Get C library time_t type if object in C library epoch range. | |
bool | isValid (void) const |
Test if object is valid. | |
operator bool () const | |
Test is date and time is valid for is() operator. | |
operator double () const | |
Convert date and time to julian day number. | |
operator long () const | |
Casting operator to return date as number. | |
bool | operator! () const |
Check if date and time is not valid. | |
bool | operator!= (const DateTime &datetime) |
Compare date and time with another date and time to see if not same. | |
DateTime | operator+ (long seconds) |
Add seconds to datetime in an expression. | |
DateTime & | operator++ () |
Add a day from the current date and time. | |
DateTime & | operator+= (long seconds) |
Add seconds to the current datetime object. | |
DateTime | operator- (long seconds) |
Subtract seconds from datetime in an expression. | |
long | operator- (const DateTime &datetime) |
Operator to compute number of days between two dates. | |
DateTime & | operator-- () |
Subtract a day from the current date and time. | |
DateTime & | operator-= (long seconds) |
Subtract seconds from current datetime object. | |
bool | operator< (const DateTime &datetime) |
Compare date and time with another date and time to see if earlier. | |
bool | operator<= (const DateTime &datetime) |
Compare date and time with another date and time to see if earlier or the same. | |
DateTime & | operator= (const DateTime &datetime) |
Assign date and time from another datetime object. | |
bool | operator== (const DateTime &datetime) |
Compare date and time with another date and time to see if the same. | |
bool | operator> (const DateTime &datetime) |
Compare date and time with another date and time to see if later. | |
bool | operator>= (const DateTime &datetime) |
Compare date and time with another date and time to see if later or the same. | |
int | operator[] (index_t component) const |
Access time components. | |
void | set (void) |
Set (update) the date and time with current date and time. | |
virtual | ~DateTime () |
Destroy date and time object. | |
Static Public Member Functions | |
static tm_t * | glt (time_t *time=NULL) |
Fetch an instance of time converted to local time. | |
static tm_t * | gmt (time_t *time=NULL) |
Fetch an instance of time converted to gmt. | |
static void | release (tm_t *object) |
Release a struct tm object from glt or gmt. | |
Static Public Attributes | |
static const long | c_day |
Constant for number of seconds in a day. | |
static const long | c_hour |
Constant for number of seconds in a hour. | |
static const long | c_week |
Constant for number of seconds in a week. | |
static const size_t | sz_string |
Size of datetime string field. | |
Protected Member Functions | |
void | update (void) |
A method to use to "post" any changed values when shadowing a mixed object class. |
The Datetime class uses a julian date representation of the current year, month, and day and a integer representation of the current time.
This is then manipulated in several forms and may be exported as needed.
Definition at line 620 of file datetime.h.
DateTime::DateTime | ( | time_t | time | ) |
Construct a date and time from C library time_t type.
time | type to make date and time from. |
DateTime::DateTime | ( | tm_t * | tm | ) |
Construct a date and time from C library time structure.
tm | structure from C library (from glt or gmt). |
DateTime::DateTime | ( | const char * | pointer, |
size_t | size = 0 |
||
) |
Construct a date and time from ISO string buffer.
pointer | to string field holding date and time. |
size | of field if not null terminated string. |
DateTime::DateTime | ( | int | year, |
unsigned | month, | ||
unsigned | day, | ||
int | hour = 0 , |
||
int | minute = 0 , |
||
int | second = 0 |
||
) |
Construct a date and time object from explicit date and time values.
year | of object. |
month | of object (1-12). |
day | of month of object (1-31). |
hour | of object (0-23). |
minute | of object (0-59). |
second | of object (0-59). |
DateTime::DateTime | ( | const DateTime & | object | ) |
Create a datetime object from another object.
object | to copy. |
String DateTime::format | ( | const char * | strftime | ) | const |
Return date and time formatted using strftime format values.
strftime | format to use. |
char* DateTime::get | ( | char * | buffer | ) | const |
Get a ISO formatted date and time string for current object.
buffer | to store date and time in (yyyy-mm-dd hh:mm:ss). |
Reimplemented from Date.
time_t DateTime::get | ( | void | ) | const |
Get C library time_t type if object in C library epoch range.
Reimplemented from Date.
static tm_t* DateTime::glt | ( | time_t * | time = NULL | ) | [static] |
Fetch an instance of time converted to local time.
If the localtime abi is not re-entrant, than a lock is held, otherwise a unique object is returned. In either case, when you are done, you must release the object.
time | object or NULL if using current time. |
static tm_t* DateTime::gmt | ( | time_t * | time = NULL | ) | [static] |
Fetch an instance of time converted to gmt.
If the gmtime abi is not re-entrant, than a lock is held, otherwise a unique object is returned. In either case, when you are done, you must release the object.
time | object or NULL if using current time. |
bool DateTime::isValid | ( | void | ) | const |
DateTime::operator bool | ( | ) | const |
DateTime::operator double | ( | ) | const |
Convert date and time to julian day number.
DateTime::operator long | ( | ) | const [inline] |
Casting operator to return date as number.
Reimplemented from Date.
Definition at line 844 of file datetime.h.
bool DateTime::operator! | ( | ) | const |
bool DateTime::operator!= | ( | const DateTime & | datetime | ) |
Compare date and time with another date and time to see if not same.
datetime | to compare with. |
DateTime DateTime::operator+ | ( | long | seconds | ) |
Add seconds to datetime in an expression.
Day overflows update julian date.
seconds | to add to datetime. |
Reimplemented from Date.
DateTime& DateTime::operator++ | ( | ) |
Add a day from the current date and time.
Reimplemented from Date.
DateTime& DateTime::operator+= | ( | long | seconds | ) |
Add seconds to the current datetime object.
Day overflows update julian date.
seconds | to add to object. |
Reimplemented from Date.
DateTime DateTime::operator- | ( | long | seconds | ) |
Subtract seconds from datetime in an expression.
Day underflows update julian date.
seconds | to subtract from datetime. |
Reimplemented from Date.
long DateTime::operator- | ( | const DateTime & | datetime | ) |
Operator to compute number of days between two dates.
datetime | to offset from for computation. |
DateTime& DateTime::operator-- | ( | ) |
Subtract a day from the current date and time.
Reimplemented from Date.
DateTime& DateTime::operator-= | ( | long | seconds | ) |
Subtract seconds from current datetime object.
Day underflows update julian date.
seconds | to subtract from object. |
Reimplemented from Date.
bool DateTime::operator< | ( | const DateTime & | datetime | ) |
Compare date and time with another date and time to see if earlier.
datetime | to compare with. |
bool DateTime::operator<= | ( | const DateTime & | datetime | ) |
Compare date and time with another date and time to see if earlier or the same.
datetime | to compare with. |
Assign date and time from another datetime object.
datetime | object to assign from. |
bool DateTime::operator== | ( | const DateTime & | datetime | ) |
Compare date and time with another date and time to see if the same.
datetime | to compare with. |
bool DateTime::operator> | ( | const DateTime & | datetime | ) |
Compare date and time with another date and time to see if later.
datetime | to compare with. |
bool DateTime::operator>= | ( | const DateTime & | datetime | ) |
Compare date and time with another date and time to see if later or the same.
datetime | to compare with. |
int DateTime::operator[] | ( | index_t | component | ) | const |
Access time components.
component | to access. |
Reimplemented from Date.
static void DateTime::release | ( | tm_t * | object | ) | [static] |
Release a struct tm object from glt or gmt.
object | to release. |
void DateTime::update | ( | void | ) | [protected, virtual] |
A method to use to "post" any changed values when shadowing a mixed object class.
This is used by DateNumber and string classes.
Reimplemented from Date.
Reimplemented in DateTimeString.