#include <DateTime.hpp>
Public Types | |
| enum | ETimeOffset { E_LOCAL_TIME, E_UTC_TIME } |
| ETimeOffset enum values are passed to various functions as a flag to indicate the timezone context desired. More... | |
Public Member Functions | |
| DateTime () | |
| Create a new DateTime object that represents the Epoch (00:00:00 UTC, January 1, 1970). | |
| DateTime (const String &str) | |
| Create a new DateTime object from a string that contains one of: (1) a CIM DateTime formated string (e.g. | |
| DateTime (time_t t, UInt32 microseconds=0) | |
| Create a DateTime object that represents the given time. | |
| DateTime (int year, int month, int day, int hour=0, int minute=0, int second=0, UInt32 microsecond=0, ETimeOffset timeOffset=E_LOCAL_TIME) | |
| Create a new DateTime object that represent the given date and time. | |
| ~DateTime () | |
| Destructor. | |
| int | getHour (ETimeOffset timeOffset=E_LOCAL_TIME) const |
| Get the hour of the day for this DateTime object 0-23. | |
| int | getMinute (ETimeOffset timeOffset=E_LOCAL_TIME) const |
| Get the minute of the hour for this DateTime object 0-59. | |
| int | getSecond (ETimeOffset timeOffset=E_LOCAL_TIME) const |
| Get the second of the minute for this DateTime object normally in the range 0-59, but can be up to 60 to allow for leap seconds. | |
| UInt32 | getMicrosecond () const |
| Get the microsecond of the second for this DateTime object. | |
| int | getDay (ETimeOffset timeOffset=E_LOCAL_TIME) const |
| Get the day of the month (1-31). | |
| int | getDow (ETimeOffset timeOffset=E_LOCAL_TIME) const |
| Get the day of the week. | |
| int | getMonth (ETimeOffset timeOffset=E_LOCAL_TIME) const |
| Get the month. | |
| int | getYear (ETimeOffset timeOffset=E_LOCAL_TIME) const |
| Get the year. | |
| time_t | get () const |
| Get the epoch time represented by this DateTime object. | |
| void | setHour (int hour, ETimeOffset timeOffset=E_LOCAL_TIME) |
| Set the hour component of this DateTime object. | |
| void | setMinute (int minute, ETimeOffset timeOffset=E_LOCAL_TIME) |
| Set the minute component of this DateTime object. | |
| void | setSecond (int second, ETimeOffset timeOffset=E_LOCAL_TIME) |
| Set the second component of this DateTime object. | |
| void | setMicrosecond (UInt32 microsecond) |
| Set the microsecond component of this DateTime object. | |
| void | setTime (int hour, int minute, int second, ETimeOffset timeOffset=E_LOCAL_TIME) |
| Set the time component of this DateTime object. | |
| void | setDay (int day, ETimeOffset timeOffset=E_LOCAL_TIME) |
| Set the day component of this DateTime object. | |
| void | setMonth (int month, ETimeOffset timeOffset=E_LOCAL_TIME) |
| Set the month component of this DateTime object. | |
| void | setYear (int year, ETimeOffset timeOffset=E_LOCAL_TIME) |
| Set the year component of this DateTime object. | |
| void | set (time_t t, UInt32 microseconds=0) |
| Set this DateTime object with a time_t value. | |
| void | set (int year, int month, int day, int hour, int minute, int second, UInt32 microseconds, ETimeOffset timeOffset=E_LOCAL_TIME) |
| Set the date and time for this DateTime. | |
| void | setToCurrent () |
| Set this DateTime to the current system time. | |
| void | addDays (int days) |
| Add days to the date represented by this object. | |
| void | addWeeks (int weeks) |
| Add week to the date represented by this object. | |
| void | addMonths (int months) |
| Add months to the date represented by this object. | |
| void | addYears (int years) |
| Add years to the date represent by this object. | |
| void | addSeconds (long seconds) |
| Add seconds to the date represented by this object. | |
| void | addMinutes (long minutes) |
| Add minutes to the date represented by this object. | |
| void | addMicroseconds (long microseconds) |
| Add microseconds to the date represented by this object. | |
| void | addMilliseconds (long milliseconds) |
| Add milliseconds to the date represented by this object. | |
| void | addHours (long hours) |
| Add hours to the date represented by this object. | |
| bool | operator< (const DateTime &tm) const |
| Less than operator. | |
| bool | operator> (const DateTime &tm) const |
| Greater than operator. | |
| bool | operator== (const DateTime &tm) const |
| Equality operator. | |
| bool | operator!= (const DateTime &tm) const |
| Inequality operator. | |
| bool | operator<= (const DateTime &tm) const |
| Less than or equal operator. | |
| bool | operator>= (const DateTime &tm) const |
| Greate than or equal operator. | |
| DateTime & | operator+= (long seconds) |
| Add a given number of seconds to this DateTime object. | |
| DateTime & | operator-= (long seconds) |
| Subtract a given number of seconds from this DateTime object. | |
| String | toString (ETimeOffset timeOffset=E_LOCAL_TIME) const |
| Convert this DateTime object to a string. | |
| String | toString (char const *format, ETimeOffset timeOffset=E_LOCAL_TIME) const |
| Convert this DateTime object to a string. | |
| Int16 | toLocal (struct tm &tt) const |
| Converts date/time specified by *this to local time, stored in tt as per the C localtime function, and returns the corresponding GMT offset in minutes. | |
Static Public Member Functions | |
| static Int16 | getGMTOffsetMinutesNow () |
| Get the GMT offset (number of minutes) of the system's timezone at the current moment. | |
| static DateTime | getCurrent () |
| Gets a DateTime instance set to the current system time. | |
Static Public Attributes | |
| static char const | DEFAULT_FORMAT [] = "%c" |
| A default date/time format to use with toString(). | |
Private Member Functions | |
| tm | getTm (ETimeOffset timeOffset) const |
| void | setTime (tm &tmarg, ETimeOffset timeOffset) |
Static Private Member Functions | |
| static Int16 | localTimeAndOffset (time_t t, struct tm &tt) |
Private Attributes | |
| time_t | m_time |
| UInt32 | m_microseconds |
It allows easy date/time adjustment, date/time arithmetic and comparison. All functions which operate on a time_t are based on seconds since the Epoch, and the timezone is irrelevant. DateTime cannot represent dates before the Epoch (00:00:00 UTC, January 1, 1970), and the upper limit is system dependent. On a system where time_t is 32-bits, the latest date that can be represented is Mon Jan 18 20:14:07 2038. If time_t is 64-bits, then it's a date so far in the future, that the sun will probably turn into a black hole before then. (About 500 billion years.) If an invalid time is created, then get() will return time_t(-1), and the DateTime represented will be 1 second before the Epoch (23:59:59 UTC, December 31, 1969)
If the non-standard function timegm() is available, it will be used, otherwise this class' implementation relies on the global variable timezone (from time.h) which reflects the system's timezone.
For constructor or setter member functions, if parameter values are outside their legal interval, they will be normalized (so that, e.g., 40 October is changed into 9 November).
Definition at line 79 of file DateTime.hpp.
ETimeOffset enum values are passed to various functions as a flag to indicate the timezone context desired.
| E_LOCAL_TIME | The operation will apply to local system timezone (which may include an offset for daylight savings time). |
| E_UTC_TIME | The operation will apply to UTC (or GMT) time. |
Definition at line 86 of file DateTime.hpp.
| BLOCXX_NAMESPACE::DateTime::DateTime | ( | ) |
Create a new DateTime object that represents the Epoch (00:00:00 UTC, January 1, 1970).
Definition at line 131 of file DateTime.cpp.
Referenced by BLOCXX_NAMESPACE::operator-().
| BLOCXX_NAMESPACE::DateTime::DateTime | ( | const String & | str | ) | [explicit] |
Create a new DateTime object from a string that contains one of: (1) a CIM DateTime formated string (e.g.
"19980525133015.000000-300") (2) a ctime() formatted string (e.g. "Wed Jun 30 21:49:08 1993") The current local timezone is assumed. (3) a free-form date which must have a month, day, year, and time. Optional fields are a weekday, and timezone, and the seconds subfield of the time field.
There are no restrictions on the ordering of fields, with the exception of the day of month and year.
Assumptions made: The first free-standing number found is assumed to be the day of month. The second is the day of year.
Fields:
Month (required) The month field may be one of the three-letter English abbreviations (eg. Jan, Feb, Mar, etc), or the full English month name (eg. January, February, March, etc). Note that they are case sensitive, and only the first character is uppercase.
Day of month (required) A number. Currently, the first free-standing number found is assumed to be the day of month.
Year (required) A number. Currently, the second free-standing number found is assumed to be the year.
Time (required) The hours, minutes, and optionally seconds of the time. It is in the form HH:MM or HH:MM:SS. The hour is expressed in the 24 hour format (eg. 4pm would be hour 16).
Day of week (optional) The day of week field may be one of the three-letter English abbreviations (eg. Sun, Mon, Tue, etc), or the full English day name (eg. Sunday, Monday, Tuesday, etc). Note that they are case sensitive, and only the first character is uppercase.
Timezone (optional) The timezone of the date. The date and time will be transformed into UTC by this time zone. If the time zone is not present, then the date is assumed to be in local time.
The following time zones are recognized (case sensitive): UTC, GMT, BST, IST, WET, WEST, CET, CEST, EET, EEST, MSK, MSD, AST, ADT, EST, EDT, ET, CST, CDT, CT, MST, MDT, MT, PST, PDT, PT, HST, AKST, AKDT, WST, and single letters [A-Z]
Timezones ET, CT, MT, and PT are all assumed to be standard (not daylight) time. NOTE: Some Australian time zones (EST, and CST), which conflict with US time zones are assumed to be in the US.
Valid Examples of free-form date strings: Thu Jan 29 11:02:42 MST 2004 Oct 3 17:52:56 EDT 1998 5:41:26 PDT Aug 15 1984 7 November 2003 13:35:03 GMT Monday May 1 8:27:39 UTC 2003 June 1 23:49 2003
Note that DateTime cannot hold an interval, so you cannot construct one from an CIM DateTime interval. If str is a CIM DateTime, the timezone is part of the string and will be honored. Otherwise, if str is a ctime() formatted string, the current C timezone will be used.
| DateTimeException | if str does not contain a valid DateTime |
Definition at line 752 of file DateTime.cpp.
References BLOCXX_NAMESPACE::adjustTimeForTimeZone(), BLOCXX_NAMESPACE::badDateTime(), BLOCXX_NAMESPACE::Array< T >::begin(), BLOCXX_NAMESPACE::decodeLongMonth(), BLOCXX_NAMESPACE::decodeShortMonth(), E_LOCAL_TIME, E_UTC_TIME, BLOCXX_NAMESPACE::String::empty(), BLOCXX_NAMESPACE::Array< T >::end(), BLOCXX_NAMESPACE::getTimeZoneOffset(), i, BLOCXX_NAMESPACE::isDOWValid(), BLOCXX_NAMESPACE::isLongDOWValid(), BLOCXX_NAMESPACE::String::length(), BLOCXX_NAMESPACE::LOCAL_TIME_OFFSET, BLOCXX_NAMESPACE::String::npos, BLOCXX_NAMESPACE::Array< T >::size(), BLOCXX_NAMESPACE::String::substring(), BLOCXX_NAMESPACE::String::toInt32(), BLOCXX_NAMESPACE::String::tokenize(), and BLOCXX_NAMESPACE::validateRanges().
| BLOCXX_NAMESPACE::DateTime::DateTime | ( | time_t | t, | |
| UInt32 | microseconds = 0 | |||
| ) | [explicit] |
Create a DateTime object that represents the given time.
| t | The epoch time that this DateTime object will respresent | |
| microseconds | The microsecond component of the time. This is the number of seconds since the Epoch, and should not be adjusted for the time zone. |
| DateTimeException | if t == time_t(-1) |
Definition at line 974 of file DateTime.cpp.
| BLOCXX_NAMESPACE::DateTime::DateTime | ( | int | year, | |
| int | month, | |||
| int | day, | |||
| int | hour = 0, |
|||
| int | minute = 0, |
|||
| int | second = 0, |
|||
| UInt32 | microsecond = 0, |
|||
| ETimeOffset | timeOffset = E_LOCAL_TIME | |||
| ) |
Create a new DateTime object that represent the given date and time.
| year | The year component of the date. Valid values are >= 1970 | |
| month | The month component of the date. Valid values are >= 1 | |
| day | The day component of the date. Valid values are >= 1 | |
| hour | The hour component of the time. Valid values are >= 1 | |
| minute | The minute component of the time. Any value is valid. | |
| second | The second component of the time. Any value is valid. | |
| microsecond | The microsecond component of the time. Valid values are 0..999999 | |
| timeOffset | The offset this DateTime object represents. Defaults to E_LOCAL_TIME. |
| DateTimeException | if the parameters don't represent a valid DateTime |
Definition at line 980 of file DateTime.cpp.
| BLOCXX_NAMESPACE::DateTime::~DateTime | ( | ) |
| int BLOCXX_NAMESPACE::DateTime::getHour | ( | ETimeOffset | timeOffset = E_LOCAL_TIME |
) | const |
Get the hour of the day for this DateTime object 0-23.
| timeOffset | Indicates whether to use the local timezone or UTC |
Definition at line 1055 of file DateTime.cpp.
References getTm().
| int BLOCXX_NAMESPACE::DateTime::getMinute | ( | ETimeOffset | timeOffset = E_LOCAL_TIME |
) | const |
Get the minute of the hour for this DateTime object 0-59.
| timeOffset | Indicates whether to use the local timezone or UTC |
Definition at line 1061 of file DateTime.cpp.
References getTm().
| int BLOCXX_NAMESPACE::DateTime::getSecond | ( | ETimeOffset | timeOffset = E_LOCAL_TIME |
) | const |
Get the second of the minute for this DateTime object normally in the range 0-59, but can be up to 60 to allow for leap seconds.
| timeOffset | Indicates whether to use the local timezone or UTC |
Definition at line 1067 of file DateTime.cpp.
References getTm().
| UInt32 BLOCXX_NAMESPACE::DateTime::getMicrosecond | ( | ) | const |
Get the microsecond of the second for this DateTime object.
In the range 0..999999. There are 1 million (1000000) microseconds per second.
Definition at line 1073 of file DateTime.cpp.
References m_microseconds.
Referenced by BLOCXX_NAMESPACE::operator-(), BLOCXX_NAMESPACE::SocketBaseImpl::read(), and BLOCXX_NAMESPACE::SocketBaseImpl::write().
| int BLOCXX_NAMESPACE::DateTime::getDay | ( | ETimeOffset | timeOffset = E_LOCAL_TIME |
) | const |
Get the day of the month (1-31).
| timeOffset | Indicates whether to use the local timezone or UTC |
Definition at line 1079 of file DateTime.cpp.
References getTm().
| int BLOCXX_NAMESPACE::DateTime::getDow | ( | ETimeOffset | timeOffset = E_LOCAL_TIME |
) | const |
Get the day of the week.
| timeOffset | Indicates whether to use the local timezone or UTC |
Definition at line 1085 of file DateTime.cpp.
References getTm().
| int BLOCXX_NAMESPACE::DateTime::getMonth | ( | ETimeOffset | timeOffset = E_LOCAL_TIME |
) | const |
Get the month.
| timeOffset | Indicates whether to use the local timezone or UTC |
Definition at line 1091 of file DateTime.cpp.
References getTm().
| int BLOCXX_NAMESPACE::DateTime::getYear | ( | ETimeOffset | timeOffset = E_LOCAL_TIME |
) | const |
Get the year.
| timeOffset | Indicates whether to use the local timezone or UTC |
Definition at line 1097 of file DateTime.cpp.
References getTm().
| time_t BLOCXX_NAMESPACE::DateTime::get | ( | ) | const |
Get the epoch time represented by this DateTime object.
Definition at line 1103 of file DateTime.cpp.
References m_time.
Referenced by BLOCXX_NAMESPACE::operator-().
| void BLOCXX_NAMESPACE::DateTime::setHour | ( | int | hour, | |
| ETimeOffset | timeOffset = E_LOCAL_TIME | |||
| ) |
Set the hour component of this DateTime object.
| hour | The new hour for this DateTime object. | |
| timeOffset | Indicates whether to use the local timezone or UTC |
| DateTimeException | if the parameters don't represent a valid DateTime |
Definition at line 1109 of file DateTime.cpp.
| void BLOCXX_NAMESPACE::DateTime::setMinute | ( | int | minute, | |
| ETimeOffset | timeOffset = E_LOCAL_TIME | |||
| ) |
Set the minute component of this DateTime object.
| minute | The new minute for this DateTime object. | |
| timeOffset | Indicates whether to use the local timezone or UTC |
| DateTimeException | if the parameters don't represent a valid DateTime |
Definition at line 1117 of file DateTime.cpp.
| void BLOCXX_NAMESPACE::DateTime::setSecond | ( | int | second, | |
| ETimeOffset | timeOffset = E_LOCAL_TIME | |||
| ) |
Set the second component of this DateTime object.
| second | The new second for this DateTime object. | |
| timeOffset | Indicates whether to use the local timezone or UTC |
| DateTimeException | if the parameters don't represent a valid DateTime |
Definition at line 1125 of file DateTime.cpp.
| void BLOCXX_NAMESPACE::DateTime::setMicrosecond | ( | UInt32 | microsecond | ) |
Set the microsecond component of this DateTime object.
| microsecond | The new microsecond for this DateTime object. Acceptable range is 0..999999 |
| DateTimeException | if microsecond is out of range. |
Definition at line 1133 of file DateTime.cpp.
References BLOCXX_THROW, and m_microseconds.
| void BLOCXX_NAMESPACE::DateTime::setTime | ( | int | hour, | |
| int | minute, | |||
| int | second, | |||
| ETimeOffset | timeOffset = E_LOCAL_TIME | |||
| ) |
Set the time component of this DateTime object.
| hour | The hour component of the time. | |
| minute | The minute component of the time. | |
| second | The second component of the time. | |
| timeOffset | Indicates whether to use the local timezone or UTC |
| DateTimeException | if the parameters don't represent a valid DateTime |
Definition at line 1143 of file DateTime.cpp.
References getTm().
Referenced by addDays(), addMonths(), addYears(), set(), setDay(), setHour(), setMinute(), setMonth(), setSecond(), and setYear().
| void BLOCXX_NAMESPACE::DateTime::setDay | ( | int | day, | |
| ETimeOffset | timeOffset = E_LOCAL_TIME | |||
| ) |
Set the day component of this DateTime object.
| day | The new day for this DateTime object. | |
| timeOffset | Indicates whether to use the local timezone or UTC |
| DateTimeException | if the parameters don't represent a valid DateTime |
Definition at line 1153 of file DateTime.cpp.
| void BLOCXX_NAMESPACE::DateTime::setMonth | ( | int | month, | |
| ETimeOffset | timeOffset = E_LOCAL_TIME | |||
| ) |
Set the month component of this DateTime object.
| month | The new month for this DateTime object. Valid values are >= 1 | |
| timeOffset | Indicates whether to use the local timezone or UTC |
| DateTimeException | if the parameters don't represent a valid DateTime or month == 0 |
Definition at line 1161 of file DateTime.cpp.
References BLOCXX_THROW, getTm(), and setTime().
| void BLOCXX_NAMESPACE::DateTime::setYear | ( | int | year, | |
| ETimeOffset | timeOffset = E_LOCAL_TIME | |||
| ) |
Set the year component of this DateTime object.
| year | The new year for this DateTime object. Valid values are >= 1970 | |
| timeOffset | Indicates whether to use the local timezone or UTC |
| DateTimeException | if the parameters don't represent a valid DateTime |
Definition at line 1174 of file DateTime.cpp.
| void BLOCXX_NAMESPACE::DateTime::set | ( | time_t | t, | |
| UInt32 | microseconds = 0 | |||
| ) |
Set this DateTime object with a time_t value.
| t | A time_t value that represents the number of seconds from Jan 1, 1970. | |
| microseconds | The microsecond component of the time. Valid values are 0..999999 |
| DateTimeException | if the parameters don't represent a valid DateTime |
Definition at line 1303 of file DateTime.cpp.
References BLOCXX_THROW, m_microseconds, and m_time.
| void BLOCXX_NAMESPACE::DateTime::set | ( | int | year, | |
| int | month, | |||
| int | day, | |||
| int | hour, | |||
| int | minute, | |||
| int | second, | |||
| UInt32 | microseconds, | |||
| ETimeOffset | timeOffset = E_LOCAL_TIME | |||
| ) |
Set the date and time for this DateTime.
| year | The new year component for this object. Valid values are >= 1970 | |
| month | The new month component for this object. | |
| day | The new day component for this object. | |
| hour | The new hour component for this object. | |
| minute | The new minute component for this object. | |
| second | The new second component for this object. | |
| microseconds | The new microseconds component for this object. Valid values are 0..999999 | |
| timeOffset | Indicates whether to use the local timezone or UTC |
| DateTimeException | if the parameters don't represent a valid DateTime |
Definition at line 1182 of file DateTime.cpp.
References E_UTC_TIME, m_microseconds, and setTime().
| void BLOCXX_NAMESPACE::DateTime::setToCurrent | ( | ) |
Set this DateTime to the current system time.
Definition at line 1206 of file DateTime.cpp.
References m_microseconds, and m_time.
Referenced by getCurrent(), BLOCXX_NAMESPACE::SocketBaseImpl::read(), and BLOCXX_NAMESPACE::SocketBaseImpl::write().
| void BLOCXX_NAMESPACE::DateTime::addDays | ( | int | days | ) |
Add days to the date represented by this object.
| days | The number of days to add to this object. |
| DateTimeException | if the resulting DateTime don't represent a valid DateTime |
Definition at line 1220 of file DateTime.cpp.
References E_UTC_TIME, getTm(), and setTime().
| void BLOCXX_NAMESPACE::DateTime::addWeeks | ( | int | weeks | ) | [inline] |
Add week to the date represented by this object.
| weeks | The number of weeks to add to this object. |
| DateTimeException | if the resulting DateTime don't represent a valid DateTime |
Definition at line 402 of file DateTime.hpp.
| void BLOCXX_NAMESPACE::DateTime::addMonths | ( | int | months | ) |
Add months to the date represented by this object.
| months | The number of months to add to this object. |
| DateTimeException | if the resulting DateTime don't represent a valid DateTime |
Definition at line 1236 of file DateTime.cpp.
References E_UTC_TIME, getTm(), and setTime().
| void BLOCXX_NAMESPACE::DateTime::addYears | ( | int | years | ) |
Add years to the date represent by this object.
| years | The number of years to add to this object. |
| DateTimeException | if the resulting DateTime don't represent a valid DateTime |
Definition at line 1228 of file DateTime.cpp.
References E_UTC_TIME, getTm(), and setTime().
| void BLOCXX_NAMESPACE::DateTime::addSeconds | ( | long | seconds | ) | [inline] |
Add seconds to the date represented by this object.
| seconds | The number of seconds to add to this object. |
| DateTimeException | if the resulting DateTime don't represent a valid DateTime |
Definition at line 426 of file DateTime.hpp.
| void BLOCXX_NAMESPACE::DateTime::addMinutes | ( | long | minutes | ) | [inline] |
Add minutes to the date represented by this object.
| minutes | The number of minutes to add to this object. |
Definition at line 434 of file DateTime.hpp.
| void BLOCXX_NAMESPACE::DateTime::addMicroseconds | ( | long | microseconds | ) | [inline] |
Add microseconds to the date represented by this object.
| microseconds | The number of microseconds to add to this object.+ |
Definition at line 441 of file DateTime.hpp.
| void BLOCXX_NAMESPACE::DateTime::addMilliseconds | ( | long | milliseconds | ) | [inline] |
Add milliseconds to the date represented by this object.
| milliseconds | The number of milliseconds to add to this object.+ |
Definition at line 450 of file DateTime.hpp.
| void BLOCXX_NAMESPACE::DateTime::addHours | ( | long | hours | ) | [inline] |
Add hours to the date represented by this object.
| hours | The number of hours to add to this object. |
Definition at line 458 of file DateTime.hpp.
| bool BLOCXX_NAMESPACE::DateTime::operator< | ( | const DateTime & | tm | ) | const [inline] |
Less than operator.
| tm | The DateTime object to compare this one to. |
Definition at line 464 of file DateTime.hpp.
References m_microseconds, and m_time.
| bool BLOCXX_NAMESPACE::DateTime::operator> | ( | const DateTime & | tm | ) | const [inline] |
Greater than operator.
| tm | The DateTime object to compare this one to. |
Definition at line 477 of file DateTime.hpp.
| bool BLOCXX_NAMESPACE::DateTime::operator== | ( | const DateTime & | tm | ) | const [inline] |
Equality operator.
| tm | The DateTime object to compare this one to. |
Definition at line 486 of file DateTime.hpp.
References m_microseconds, and m_time.
| bool BLOCXX_NAMESPACE::DateTime::operator!= | ( | const DateTime & | tm | ) | const [inline] |
Inequality operator.
| tm | The DateTime object to compare this one to. |
Definition at line 495 of file DateTime.hpp.
| bool BLOCXX_NAMESPACE::DateTime::operator<= | ( | const DateTime & | tm | ) | const [inline] |
Less than or equal operator.
| tm | The DateTime object to compare this one to. |
Definition at line 505 of file DateTime.hpp.
| bool BLOCXX_NAMESPACE::DateTime::operator>= | ( | const DateTime & | tm | ) | const [inline] |
Greate than or equal operator.
| tm | The DateTime object to compare this one to. |
Definition at line 515 of file DateTime.hpp.
| DateTime& BLOCXX_NAMESPACE::DateTime::operator+= | ( | long | seconds | ) | [inline] |
Add a given number of seconds to this DateTime object.
| seconds | The number of seconds to add to this object. |
Definition at line 524 of file DateTime.hpp.
| DateTime& BLOCXX_NAMESPACE::DateTime::operator-= | ( | long | seconds | ) | [inline] |
Subtract a given number of seconds from this DateTime object.
| seconds | The number of seconds to subtract from this object. |
Definition at line 534 of file DateTime.hpp.
| String BLOCXX_NAMESPACE::DateTime::toString | ( | ETimeOffset | timeOffset = E_LOCAL_TIME |
) | const |
Convert this DateTime object to a string.
| timeOffset | Indicates whether to use the local timezone or UTC |
Definition at line 1244 of file DateTime.cpp.
References getTm().
Referenced by BLOCXX_NAMESPACE::SocketBaseImpl::read(), setTime(), and BLOCXX_NAMESPACE::SocketBaseImpl::write().
| String BLOCXX_NAMESPACE::DateTime::toString | ( | char const * | format, | |
| ETimeOffset | timeOffset = E_LOCAL_TIME | |||
| ) | const |
Convert this DateTime object to a string.
| format | is a date/time format string such as used by strftime(). Note that the underlying representation uses strftime(), so some conversion specifiers may be available which aren't portable. For maximum portability, restrict usage to those defined in ANSI C. | |
| timeOffset | Indicates whether to use the local timezone or UTC |
Definition at line 1254 of file DateTime.cpp.
References BLOCXX_NAMESPACE::ExceptionDetail::BUFSZ, and getTm().
| static Int16 BLOCXX_NAMESPACE::DateTime::getGMTOffsetMinutesNow | ( | ) | [inline, static] |
Get the GMT offset (number of minutes) of the system's timezone at the current moment.
Replacement for getGMTOffset(), if anyone is using it.
Definition at line 576 of file DateTime.hpp.
References localTimeAndOffset().
| Int16 BLOCXX_NAMESPACE::DateTime::toLocal | ( | struct tm & | tt | ) | const [inline] |
Converts date/time specified by *this to local time, stored in tt as per the C localtime function, and returns the corresponding GMT offset in minutes.
Definition at line 588 of file DateTime.hpp.
References localTimeAndOffset().
| DateTime BLOCXX_NAMESPACE::DateTime::getCurrent | ( | ) | [static] |
Gets a DateTime instance set to the current system time.
Definition at line 1317 of file DateTime.cpp.
References setToCurrent().
| tm BLOCXX_NAMESPACE::DateTime::getTm | ( | ETimeOffset | timeOffset | ) | const [inline, private] |
Definition at line 991 of file DateTime.cpp.
References E_LOCAL_TIME, and m_time.
Referenced by addDays(), addMonths(), addYears(), getDay(), getDow(), getHour(), getMinute(), getMonth(), getSecond(), getYear(), setDay(), setHour(), setMinute(), setMonth(), setSecond(), setTime(), setYear(), and toString().
| void BLOCXX_NAMESPACE::DateTime::setTime | ( | tm & | tmarg, | |
| ETimeOffset | timeOffset | |||
| ) | [inline, private] |
Definition at line 1009 of file DateTime.cpp.
References BLOCXX_THROW, E_LOCAL_TIME, m_time, and toString().
| Int16 BLOCXX_NAMESPACE::DateTime::localTimeAndOffset | ( | time_t | t, | |
| struct tm & | tt | |||
| ) | [static, private] |
Definition at line 1268 of file DateTime.cpp.
References BLOCXX_THROW.
Referenced by getGMTOffsetMinutesNow(), and toLocal().
char const BLOCXX_NAMESPACE::DateTime::DEFAULT_FORMAT = "%c" [static] |
A default date/time format to use with toString().
The value is "%c", which is "The preferred date and time representation for the current locale."
Definition at line 568 of file DateTime.hpp.
time_t BLOCXX_NAMESPACE::DateTime::m_time [private] |
Definition at line 599 of file DateTime.hpp.
Referenced by get(), getTm(), operator<(), operator==(), set(), setTime(), and setToCurrent().
Definition at line 600 of file DateTime.hpp.
Referenced by getMicrosecond(), operator<(), operator==(), set(), setMicrosecond(), and setToCurrent().
1.5.3