OWBI1::DateTime Class Reference

The DateTime class is an abstraction for date time data. More...

#include <OWBI1_DateTime.hpp>

Collaboration diagram for OWBI1::DateTime:

Collaboration graph
[legend]
List of all members.

Public Types

enum  ETimeOffset { E_LOCAL_TIME, E_UTC_TIME }
 The values of this enum are passed to various functions to 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 (const detail::DateTimeRepRef &rep)
 ~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
int getMonth (ETimeOffset timeOffset=E_LOCAL_TIME) const
int getYear (ETimeOffset timeOffset=E_LOCAL_TIME) const
time_t get () const
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 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.
DateTimeoperator+= (long seconds)
 Add a given number of seconds to this DateTime object.
DateTimeoperator-= (long seconds)
 Subtract a given number of seconds from this DateTime object.
String toString (ETimeOffset timeOffset=E_LOCAL_TIME) const
String toString (char const *format, ETimeOffset timeOffset=E_LOCAL_TIME) const
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.
detail::DateTimeRepRef getRep () const

Static Public Member Functions

static Int16 getGMTOffsetMinutesNow ()
 Returns 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

detail::DateTimeRepRef m_rep

Detailed Description

The DateTime class is an abstraction for date time data.

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 77 of file OWBI1_DateTime.hpp.


Member Enumeration Documentation

enum OWBI1::DateTime::ETimeOffset
 

The values of this enum are passed to various functions to as a flag to indicate the timezone context desired.

E_LOCAL_TIME means the operation will apply the local system timezone (which may include an offset for daylight saving time). E_UTC_TIME means the operation will apply to UTC (or GMT) time.

Enumerator:
E_LOCAL_TIME 
E_UTC_TIME 

Definition at line 87 of file OWBI1_DateTime.hpp.


Constructor & Destructor Documentation

OWBI1::DateTime::DateTime  ) 
 

Create a new DateTime object that represents the Epoch (00:00:00 UTC, January 1, 1970).

Definition at line 109 of file OWBI1_DateTime.cpp.

OWBI1::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.

Parameters:
str An String object that contains the DateTime string
Exceptions:
DateTimeException if str does not contain a valid DateTime

Definition at line 730 of file OWBI1_DateTime.cpp.

References E_UTC_TIME, i, OWBI1::String::length(), set(), and OWBI1::validateRanges().

OWBI1::DateTime::DateTime time_t  t,
UInt32  microseconds = 0
[explicit]
 

Create a DateTime object that represents the given time.

Parameters:
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 time zone.
Exceptions:
DateTimeException if t == time_t(-1)

Definition at line 952 of file OWBI1_DateTime.cpp.

OWBI1::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.

Parameters:
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
Exceptions:
DateTimeException if the parameters don't represent a valid DateTime

Definition at line 958 of file OWBI1_DateTime.cpp.

References set().

OWBI1::DateTime::DateTime const detail::DateTimeRepRef rep  )  [explicit]
 

Definition at line 964 of file OWBI1_DateTime.cpp.

OWBI1::DateTime::~DateTime  ) 
 

Destructor.

Definition at line 969 of file OWBI1_DateTime.cpp.


Member Function Documentation

void OWBI1::DateTime::addDays int  days  ) 
 

Add days to the date represented by this object.

Parameters:
days The number of days to add to this object.
Exceptions:
DateTimeException if the resulting DateTime don't represent a valid DateTime

Definition at line 1192 of file OWBI1_DateTime.cpp.

References E_UTC_TIME, getTm(), and setTime().

void OWBI1::DateTime::addHours long  hours  ) 
 

Add hours to the date represented by this object.

Parameters:
hours The number of hours to add to this object.

void OWBI1::DateTime::addMinutes long  minutes  ) 
 

Add minutes to the date represented by this object.

Parameters:
minutes The number of minutes to add to this object.

void OWBI1::DateTime::addMonths int  months  ) 
 

Add months to the date represented by this object.

Parameters:
months The number of months to add to this object.
Exceptions:
DateTimeException if the resulting DateTime don't represent a valid DateTime

Definition at line 1208 of file OWBI1_DateTime.cpp.

References E_UTC_TIME, getTm(), and setTime().

void OWBI1::DateTime::addSeconds long  seconds  ) 
 

Add seconds to the date represented by this object.

Parameters:
seconds The number of seconds to add to this object.
Exceptions:
DateTimeException if the resulting DateTime don't represent a valid DateTime

void OWBI1::DateTime::addWeeks int  weeks  )  [inline]
 

Add week to the date represented by this object.

Parameters:
weeks The number of weeks to add to this object.
Exceptions:
DateTimeException if the resulting DateTime don't represent a valid DateTime

Definition at line 357 of file OWBI1_DateTime.hpp.

void OWBI1::DateTime::addYears int  years  ) 
 

Add years to the date represent by this object.

Parameters:
years The number of years to add to this object.
Exceptions:
DateTimeException if the resulting DateTime don't represent a valid DateTime

Definition at line 1200 of file OWBI1_DateTime.cpp.

References E_UTC_TIME, getTm(), and setTime().

time_t OWBI1::DateTime::get  )  const
 

Returns:
The number of seconds since Jan 1, 1970.

Definition at line 1076 of file OWBI1_DateTime.cpp.

DateTime OWBI1::DateTime::getCurrent  )  [static]
 

Gets a DateTime instance set to the current system time.

Definition at line 1294 of file OWBI1_DateTime.cpp.

References setToCurrent().

int OWBI1::DateTime::getDay ETimeOffset  timeOffset = E_LOCAL_TIME  )  const
 

Get the day of the month (1-31).

Parameters:
timeOffset Indicates whether to use the local timezone or UTC
Returns:

Definition at line 1052 of file OWBI1_DateTime.cpp.

References getTm().

int OWBI1::DateTime::getDow ETimeOffset  timeOffset = E_LOCAL_TIME  )  const
 

Parameters:
timeOffset Indicates whether to use the local timezone or UTC
Returns:
The day of the week for the date represented by this object. This will be a value in the range 0-6.

Definition at line 1058 of file OWBI1_DateTime.cpp.

References getTm().

static Int16 OWBI1::DateTime::getGMTOffsetMinutesNow  )  [inline, static]
 

Returns 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 491 of file OWBI1_DateTime.hpp.

References localTimeAndOffset().

int OWBI1::DateTime::getHour ETimeOffset  timeOffset = E_LOCAL_TIME  )  const
 

Get the hour of the day for this DateTime object 0-23.

Parameters:
timeOffset Indicates whether to use the local timezone or UTC
Returns:

Definition at line 1028 of file OWBI1_DateTime.cpp.

References getTm().

UInt32 OWBI1::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.

Returns:

Definition at line 1046 of file OWBI1_DateTime.cpp.

int OWBI1::DateTime::getMinute ETimeOffset  timeOffset = E_LOCAL_TIME  )  const
 

Get the minute of the hour for this DateTime object 0-59.

Parameters:
timeOffset Indicates whether to use the local timezone or UTC
Returns:

Definition at line 1034 of file OWBI1_DateTime.cpp.

References getTm().

int OWBI1::DateTime::getMonth ETimeOffset  timeOffset = E_LOCAL_TIME  )  const
 

Parameters:
timeOffset Indicates whether to use the local timezone or UTC
Returns:
The month of the year. This will be a value in the range 1-12.

Definition at line 1064 of file OWBI1_DateTime.cpp.

References getTm().

DateTimeRepRef OWBI1::DateTime::getRep  )  const
 

Definition at line 1303 of file OWBI1_DateTime.cpp.

References m_rep.

int OWBI1::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.

Parameters:
timeOffset Indicates whether to use the local timezone or UTC
Returns:

Definition at line 1040 of file OWBI1_DateTime.cpp.

References getTm().

tm OWBI1::DateTime::getTm ETimeOffset  timeOffset  )  const [inline, private]
 

Definition at line 974 of file OWBI1_DateTime.cpp.

References E_LOCAL_TIME, gmtime_r(), and localtime_r().

Referenced by addDays(), addMonths(), addYears(), getDay(), getDow(), getHour(), getMinute(), getMonth(), getSecond(), getYear(), setDay(), setHour(), setMinute(), setMonth(), setSecond(), setTime(), setYear(), and toString().

int OWBI1::DateTime::getYear ETimeOffset  timeOffset = E_LOCAL_TIME  )  const
 

Parameters:
timeOffset Indicates whether to use the local timezone or UTC
Returns:
The year. This value will include the century (e.g. 2001).

Definition at line 1070 of file OWBI1_DateTime.cpp.

References getTm().

Int16 OWBI1::DateTime::localTimeAndOffset time_t  t,
struct tm &  tt
[static, private]
 

Definition at line 1245 of file OWBI1_DateTime.cpp.

References gmtime_r(), localtime_r(), and OWBI1_THROW.

Referenced by getGMTOffsetMinutesNow(), and OWBI1::toLocal().

bool OWBI1::DateTime::operator!= const DateTime tm  )  const [inline]
 

Inequality operator.

Parameters:
tm The DateTime object to compare this one to.
Returns:
true if this object is not equal to the given DateTime object.

Definition at line 415 of file OWBI1_DateTime.hpp.

DateTime& OWBI1::DateTime::operator+= long  seconds  )  [inline]
 

Add a given number of seconds to this DateTime object.

Parameters:
seconds The number of seconds to add to this object.
Returns:
A reference to this object.

Definition at line 444 of file OWBI1_DateTime.hpp.

References OWBI1::addSeconds().

DateTime& OWBI1::DateTime::operator-= long  seconds  )  [inline]
 

Subtract a given number of seconds from this DateTime object.

Parameters:
seconds The number of seconds to subtract from this object.
Returns:
A reference to this object.

Definition at line 454 of file OWBI1_DateTime.hpp.

References OWBI1::addSeconds().

bool OWBI1::DateTime::operator< const DateTime tm  )  const
 

Less than operator.

Parameters:
tm The DateTime object to compare this one to.
Returns:
true if this object is less than the given DateTime object.

bool OWBI1::DateTime::operator<= const DateTime tm  )  const [inline]
 

Less than or equal operator.

Parameters:
tm The DateTime object to compare this one to.
Returns:
true if this object is less than or equal to the given DateTime object.

Definition at line 425 of file OWBI1_DateTime.hpp.

bool OWBI1::DateTime::operator== const DateTime tm  )  const
 

Equality operator.

Parameters:
tm The DateTime object to compare this one to.
Returns:
true if this object is equal to the given DateTime object.

bool OWBI1::DateTime::operator> const DateTime tm  )  const [inline]
 

Greater than operator.

Parameters:
tm The DateTime object to compare this one to.
Returns:
true if this object is greater than the given DateTime object.

Definition at line 400 of file OWBI1_DateTime.hpp.

bool OWBI1::DateTime::operator>= const DateTime tm  )  const [inline]
 

Greate than or equal operator.

Parameters:
tm The DateTime object to compare this one to.
Returns:
true if this object is greater than or equal to the given DateTime object.

Definition at line 435 of file OWBI1_DateTime.hpp.

void OWBI1::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.

Parameters:
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
Exceptions:
DateTimeException if the parameters don't represent a valid DateTime

Definition at line 1155 of file OWBI1_DateTime.cpp.

References E_UTC_TIME, and setTime().

void OWBI1::DateTime::set time_t  t,
UInt32  microseconds = 0
 

Set this DateTime object with a time_t value.

Parameters:
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
Exceptions:
DateTimeException if the parameters don't represent a valid DateTime

Definition at line 1280 of file OWBI1_DateTime.cpp.

References OWBI1_THROW.

Referenced by DateTime().

void OWBI1::DateTime::setDay int  day,
ETimeOffset  timeOffset = E_LOCAL_TIME
 

Set the day component of this DateTime object.

Parameters:
day The new day for this DateTime object.
timeOffset Indicates whether to use the local timezone or UTC
Exceptions:
DateTimeException if the parameters don't represent a valid DateTime

Definition at line 1126 of file OWBI1_DateTime.cpp.

References getTm(), and setTime().

void OWBI1::DateTime::setHour int  hour,
ETimeOffset  timeOffset = E_LOCAL_TIME
 

Set the hour component of this DateTime object.

Parameters:
hour The new hour for this DateTime object.
timeOffset Indicates whether to use the local timezone or UTC
Exceptions:
DateTimeException if the parameters don't represent a valid DateTime

Definition at line 1082 of file OWBI1_DateTime.cpp.

References getTm(), and setTime().

void OWBI1::DateTime::setMicrosecond UInt32  microsecond  ) 
 

Set the microsecond component of this DateTime object.

Parameters:
microsecond The new microsecond for this DateTime object. Acceptable range is 0..999999
Exceptions:
DateTimeException if microsecond is out of range.

Definition at line 1106 of file OWBI1_DateTime.cpp.

References OWBI1_THROW.

void OWBI1::DateTime::setMinute int  minute,
ETimeOffset  timeOffset = E_LOCAL_TIME
 

Set the minute component of this DateTime object.

Parameters:
minute The new minute for this DateTime object.
timeOffset Indicates whether to use the local timezone or UTC
Exceptions:
DateTimeException if the parameters don't represent a valid DateTime

Definition at line 1090 of file OWBI1_DateTime.cpp.

References getTm(), and setTime().

void OWBI1::DateTime::setMonth int  month,
ETimeOffset  timeOffset = E_LOCAL_TIME
 

Set the month component of this DateTime object.

Parameters:
month The new month for this DateTime object. Valid values are >= 1
timeOffset Indicates whether to use the local timezone or UTC
Exceptions:
DateTimeException if the parameters don't represent a valid DateTime or month == 0

Definition at line 1134 of file OWBI1_DateTime.cpp.

References getTm(), OWBI1_THROW, and setTime().

void OWBI1::DateTime::setSecond int  second,
ETimeOffset  timeOffset = E_LOCAL_TIME
 

Set the second component of this DateTime object.

Parameters:
second The new second for this DateTime object.
timeOffset Indicates whether to use the local timezone or UTC
Exceptions:
DateTimeException if the parameters don't represent a valid DateTime

Definition at line 1098 of file OWBI1_DateTime.cpp.

References getTm(), and setTime().

void OWBI1::DateTime::setTime tm &  tmarg,
ETimeOffset  timeOffset
[inline, private]
 

Definition at line 992 of file OWBI1_DateTime.cpp.

References E_LOCAL_TIME, and OWBI1_THROW.

void OWBI1::DateTime::setTime int  hour,
int  minute,
int  second,
ETimeOffset  timeOffset = E_LOCAL_TIME
 

Set the time component of this DateTime object.

Parameters:
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
Exceptions:
DateTimeException if the parameters don't represent a valid DateTime

Definition at line 1116 of file OWBI1_DateTime.cpp.

References getTm().

Referenced by addDays(), addMonths(), addYears(), set(), setDay(), setHour(), setMinute(), setMonth(), setSecond(), and setYear().

void OWBI1::DateTime::setToCurrent  ) 
 

Set this DateTime to the current system time.

Definition at line 1178 of file OWBI1_DateTime.cpp.

Referenced by OWBI1::BI1ProviderIFC::doUnloadProviders(), getCurrent(), and OWBI1::BI1ProviderBaseIFC::updateAccessTime().

void OWBI1::DateTime::setYear int  year,
ETimeOffset  timeOffset = E_LOCAL_TIME
 

Set the year component of this DateTime object.

Parameters:
year The new year for this DateTime object. Valid values are >= 1970
timeOffset Indicates whether to use the local timezone or UTC
Exceptions:
DateTimeException if the parameters don't represent a valid DateTime

Definition at line 1147 of file OWBI1_DateTime.cpp.

References getTm(), and setTime().

Int16 OWBI1::DateTime::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.

String OWBI1::DateTime::toString char const *  format,
ETimeOffset  timeOffset = E_LOCAL_TIME
const
 

Parameters:
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
Returns:
Conversion of this DateTime to String using format. REQUIRE: formatted time has length at most 1023.

Definition at line 1231 of file OWBI1_DateTime.cpp.

References OW_NAMESPACE::ExceptionDetail::BUFSZ, and getTm().

String OWBI1::DateTime::toString ETimeOffset  timeOffset = E_LOCAL_TIME  )  const
 

Parameters:
timeOffset Indicates whether to use the local timezone or UTC
Returns:
The string representation of this DateTime object. The format is like "Wed Jun 30 21:49:08 1993\n" as returned by ctime().

Definition at line 1216 of file OWBI1_DateTime.cpp.

References getTm(), and s.


Member Data Documentation

char const OWBI1::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 484 of file OWBI1_DateTime.hpp.

detail::DateTimeRepRef OWBI1::DateTime::m_rep [private]
 

Definition at line 513 of file OWBI1_DateTime.hpp.

Referenced by getRep().


The documentation for this class was generated from the following files:
Generated on Thu Feb 9 09:18:27 2006 for openwbem by  doxygen 1.4.6