rwlogo
HydraExpress 4.6

HydraExpress C++ API Reference Guide


   


Rogue Wave web site:  Home Page  |  Main Documentation Page

rwsf::DateTime Class Reference
[Core Date/Time Manipulation]

Represents a data and time as milliseconds from January 1, 1901 00:00:00:000 UTC. More...

#include <rwsf/core/DateTime.h>

List of all members.

Public Types

enum  InitialState { invalid, null, setCurrentTime }
enum  SetType { setDate, setTime, setBoth }
enum  Format { iso8601, http }

Public Member Functions

 DateTime (InitialState init_state=invalid)
 DateTime (const DateTime &dt)
 DateTime (rwsfint64 msec)
 DateTime (const struct tm *, unsigned ms=0, const rwsf::TimeZone &zone=rwsf::TimeZone::local())
 DateTime (unsigned day, const char *month, unsigned year, unsigned hour, unsigned minute, unsigned second, unsigned millisecond, const rwsf::Locale &loc=rwsf::Locale::global(), const rwsf::TimeZone &zone=rwsf::TimeZone::local())
 DateTime (unsigned day, unsigned month, unsigned year, unsigned hour=0, unsigned minute=0, unsigned second=0, unsigned millisecond=0, const rwsf::TimeZone &zone=rwsf::TimeZone::local())
 DateTime (const std::string &str, SetType set_type=setBoth, const rwsf::Locale &loc=rwsf::Locale::global(), const rwsf::TimeZone &zone=rwsf::TimeZone::local())
 DateTime (const std::string &str, Format f, const rwsf::Locale &loc=rwsf::Locale::global(), const rwsf::TimeZone &zone=rwsf::TimeZone::local())
DateTimeoperator= (const DateTime &dt)
std::string asString (char format, const rwsf::Locale &loc=rwsf::Locale::global(), const rwsf::TimeZone &zone=rwsf::TimeZone::local()) const
std::string asString (const char *format, const rwsf::Locale &loc=rwsf::Locale::global(), const rwsf::TimeZone &zone=rwsf::TimeZone::local()) const
std::string asString (Format f, const rwsf::Locale &loc=rwsf::Locale::global(), const rwsf::TimeZone &zone=rwsf::TimeZone::local()) const
bool between (const DateTime &a, const DateTime &b) const
int compareTo (const DateTime *d) const
int compareTo (const DateTime &d) const
unsigned correctedJulian () const
unsigned day (const rwsf::TimeZone &=rwsf::TimeZone::local()) const
unsigned dayGMT () const
unsigned dayOfMonth (const rwsf::TimeZone &=rwsf::TimeZone::local()) const
unsigned dayOfMonthGMT () const
DateTimedecrementHour (const rwsfint64 hour)
DateTimedecrementMinute (const rwsfint64 minute)
DateTimedecrementSecond (const rwsfint64 second)
DateTimedecrementMillisecond (const rwsfint64 millisecond)
void extract (struct tm *tmbuf, const rwsf::TimeZone &zone=rwsf::TimeZone::local()) const
void extractGMT (struct tm *tmbuf) const
unsigned firstDayOfMonth (unsigned mon, const rwsf::TimeZone &=rwsf::TimeZone::local()) const
unsigned firstDayOfMonth (const rwsf::TimeZone &zone=rwsf::TimeZone::local()) const
unsigned hash () const
unsigned hour (const rwsf::TimeZone &=rwsf::TimeZone::local()) const
unsigned hourGMT () const
DateTimeincrementHour (const rwsfint64 hour)
DateTimeincrementMinute (const rwsfint64 minute)
DateTimeincrementSecond (const rwsfint64 second)
DateTimeincrementMillisecond (const rwsfint64 millisecond)
bool isDST (const rwsf::TimeZone &zone=rwsf::TimeZone::local()) const
bool isFuture () const
bool isPast () const
bool empty () const
bool isNull () const
bool isInvalid () const
bool isSentinel () const
bool isValid () const
double julianDay () const
void julianDay (double j)
unsigned julian () const
void julian (unsigned j)
bool leap (const rwsf::TimeZone &zone=rwsf::TimeZone::local()) const
bool leapGMT () const
DateTime() max (const DateTime &t) const
DateTime() min (const DateTime &t) const
rwsfint64 milliSeconds () const
unsigned milliSecond () const
unsigned minute (const rwsf::TimeZone &=rwsf::TimeZone::local()) const
unsigned minuteGMT () const
unsigned month (const rwsf::TimeZone &=rwsf::TimeZone::local()) const
unsigned monthGMT () const
std::string monthName (const rwsf::Locale &loc=rwsf::Locale::global(), const rwsf::TimeZone &=rwsf::TimeZone::local()) const
DateTime next (unsigned dayNum, const rwsf::TimeZone &=rwsf::TimeZone::local()) const
DateTime next (const char *dayName, const rwsf::Locale &loc=rwsf::Locale::global(), const rwsf::TimeZone &=rwsf::TimeZone::local()) const
DateTime previous (unsigned dayNum, const rwsf::TimeZone &=rwsf::TimeZone::local()) const
DateTime previous (const char *dayName, const rwsf::Locale &loc=rwsf::Locale::global(), const rwsf::TimeZone &=rwsf::TimeZone::local()) const
unsigned second () const
unsigned weekDay (const rwsf::TimeZone &=rwsf::TimeZone::local()) const
std::string weekDayName (const rwsf::Locale &loc=rwsf::Locale::global(), const rwsf::TimeZone &=rwsf::TimeZone::local()) const
unsigned weekDayGMT () const
unsigned year (const rwsf::TimeZone &=rwsf::TimeZone::local()) const
unsigned yearGMT () const

Static Public Member Functions

static DateTime beginDST (unsigned year, const rwsf::TimeZone &zone=rwsf::TimeZone::local())
static unsigned daysInMonthYear (unsigned month, unsigned year)
static unsigned daysInYear (unsigned year)
static unsigned dayOfWeek (const char *day, const rwsf::Locale &loc=rwsf::Locale::global())
static bool dayWithinMonth (unsigned mon, unsigned day, unsigned yr)
static DateTime endDST (unsigned year, const rwsf::TimeZone &zone=rwsf::TimeZone::local())
static unsigned hash (const DateTime &dt)
static unsigned indexOfMonth (const char *month, const rwsf::Locale &loc=rwsf::Locale::global())
static bool leapYear (unsigned year)
static DateTime now ()
static std::string nameOfMonth (unsigned monthNum, const rwsf::Locale &loc=rwsf::Locale::global())
static std::string weekDayName (unsigned dayNum, const rwsf::Locale &loc=rwsf::Locale::global())
static DateTime userSentinel (int i)

Static Public Attributes

static const rwsfint64 jul1901
static const rwsfint64 midnightJul1901
static const rwsfint64 millisecsInSec
static const rwsfint64 millisecsInMin
static const rwsfint64 millisecsInHour
static const rwsfint64 millisecsInDay
static const rwsfint64 jday0
static const rwsfint64 midnightJday0
static const rwsfint64 userSentinelStart
static const rwsfint64 pastSentinel
static const rwsfint64 futureSentinel
static const rwsfint64 invalidSentinel
static const rwsfint64 nullSentinel
static const rwsfint64 minDateTime
static const rwsfint64 maxDateTime

Friends

DateTime operator+ (const DateTime &dt, rwsfint64 ms)
DateTime operator+ (rwsfint64 ms, const DateTime &dt)
DateTime operator- (const DateTime &dt, rwsfint64 ms)
rwsfint64 operator- (const DateTime &dt1, const DateTime &dt2)
bool operator< (const DateTime &t1, const DateTime &t2)
bool operator== (const DateTime &t1, const DateTime &t2)

Related Functions

(Note that these are not member functions.)



bool operator!= (const DateTime &lhs, const DateTime &rhs)
bool operator> (const DateTime &lhs, const DateTime &rhs)
bool operator<= (const DateTime &lhs, const DateTime &rhs)
bool operator>= (const DateTime &lhs, const DateTime &rhs)

Detailed Description

Class rwsf::DateTime represents a date and time, stored in milliseconds, from January 1, 1901 00:00:00:000 UTC. Milliseconds are stored in a 64-bit integral type, which is represented by the global typedef rwsfint64.

rwsf::DateTime supports the ISO 8601 international standard for the formatting of dates and times.

rwsf::DateTimes can be converted to and from the Standard C Library type struct tm defined in <time.h>, and listed here.

int tm_sec; Seconds after the minute - [0,59]
int tm_min; Minutes after the hour - [0,59]
int tm_hour; Hours since midnight - [0,23]
int tm_mday; Day of the month - [1,31]
int tm_mon; Months since January - [0,11]
int tm_year; Years since 1900
int tm_wday; Days since Sunday - [0,6]
int tm_yday; Days since January 1 - [0,365]
int tm_isdst; Daylight savings time flag

The default constructor for this class creates an instance with an invalid date and time, which facilitates creating a large array, as follows:

 // Creates an array with 5000 undefined dates and times
 rwsf::DateTime v[5000];

rwsf::DateTime objects can hold a variety of sentinel values that do not refer to actual dates. Consequently it is important to know whether an object holds an actual date before performing many operations. The isSentinel() function returns true when an object it is applied to holds a sentinel value.

The use of the isValid() method does not definitively determine whether a member function can be successfully applied to an object since the null sentinel value represents a valid rwsf::DateTime whose value is not yet determined.

Two-digit year specifiers assume the century 1900. It is strongly recommended that you create programs that use four-digit year specifiers.

DateTime is primary used for dates based on the Gregorian Calendar.

Modified Julian Days

The modern Modified Julian Day (MJD) was introduced in the 1950's and starts at midnight, as opposed to the historic Julian Day (JD), which began at 12 noon. It is defined as

 MJD = JD - 2400000.5.

The half day is subtracted so that the day starts at midnight in conformance with civil time reckoning.

Four public member functions, all starting with julian, let you manipulate the date via Modified Julian days (MJD). Note that the Modified Julian day number is not the same as a date according to the Julian calendar. The Modified Julian day number is calculated using Algorithm 199 from Communications of the ACM, Volume 6, No. 8, (Aug. 1963), p. 444 and is valid for any valid Gregorian date in the Gregorian calendar.

Modified Julian days in rwsf::DateTime operate correctly from Modified Julian day 0, but can only be converted to month, date, and year for Modified Julian days that fall within the Gregorian Calendar.


Member Enumeration Documentation

Specifies the format to be used for converting between an std::string and an rwsf::DateTime, using either the ISO 8601 standard, or HTTP specification date formats.

Enumerator:
iso8601 

Convert using ISO 8601 standard format.

http 

Convert using HTTP specification format.

Specifies whether the constructor should construct an invalid, null, or current rwsf::DateTime. Default is to set an invalid rwsf::DateTime, with an undefined date and time.

Enumerator:
invalid 

Constuct an invalid DataTime.

null 

Construct a null DataTime.

setCurrentTime 

Construct a DateTime from the current time.

Specifies whether the constructor should set just the date, just the time, or both. Default is to set both.

Enumerator:
setDate 

Construct a DateTime with just a valid date.

setTime 

Construct a DateTime with just a valid time.

setBoth 

Construct a DateTime with a valid date and time.


Constructor & Destructor Documentation

rwsf::DateTime::DateTime ( InitialState  init_state = invalid  ) 

Default constructor. Constructs an rwsf::DateTime with undefined date and time. If init_state is set to DateTime::setCurrentTime, an instance with the current date and time is created. If init_state is set to DateTime::null, an instance set to null is created.

rwsf::DateTime::DateTime ( const DateTime dt  ) 

Copy constructor.

rwsf::DateTime::DateTime ( rwsfint64  msec  )  [explicit]

Constructs an rwsf::DateTime from the number of milliseconds since 1 January 1901 00:00:00:000 UTC. rwsfint64 is at least a 64 bit integral type. msec may be negative for representing times prior to midnight 01/01/1901.

Note:
This constructor must be passed an instance of a rwsfint64 to ensure unambiguous construction.

For example, here is how to construct an rwsf::DateTime representing a time 230,375 milliseconds after midnight UTC on 01/01/1901:

 rwsf::DateTime dt(rwsfint64(230375));
rwsf::DateTime::DateTime ( const struct tm *  ,
unsigned  ms = 0,
const rwsf::TimeZone zone = rwsf::TimeZone::local() 
)

Constructs an rwsf::DateTime from the tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec components of the struct tm argument, with the milliseconds portion of the rwsf::DateTime specified by ms. The components are understood to be relative to the time zone parameter zone, which defaults to local time. Note that while struct tm uses 0-based indexing for days of the week and months, rwsf::DateTime uses 1-based indexing for these two parameters. The arguments included in struct tm are shown above in the class description's table.

rwsf::DateTime::DateTime ( unsigned  day,
const char *  month,
unsigned  year,
unsigned  hour,
unsigned  minute,
unsigned  second,
unsigned  millisecond,
const rwsf::Locale loc = rwsf::Locale::global(),
const rwsf::TimeZone zone = rwsf::TimeZone::local() 
)

Constructs an rwsf::DateTime using the specified day, month, year, hour, minute, second, and millisecond, all relative to the time zone parameter zone, which defaults to local time. The optional locale argument is used to convert the month name.

rwsf::DateTime::DateTime ( unsigned  day,
unsigned  month,
unsigned  year,
unsigned  hour = 0,
unsigned  minute = 0,
unsigned  second = 0,
unsigned  millisecond = 0,
const rwsf::TimeZone zone = rwsf::TimeZone::local() 
)

Constructs an rwsf::DateTime using the specified day, month, year, hour, minute, second, and millisecond, all relative to the time zone parameter zone, which defaults to local time.

rwsf::DateTime::DateTime ( const std::string &  str,
SetType  set_type = setBoth,
const rwsf::Locale loc = rwsf::Locale::global(),
const rwsf::TimeZone zone = rwsf::TimeZone::local() 
) [explicit]

Converts the string str to a date and/or time as indicated by set_type, all relative to the time zone parameter zone, which defaults to local time. By default, both the date and time are set using locale loc. The constructor expects the date and time portions of the std::string to be separated by a semicolon when both date and time are being set. The locale argument is used to convert the month name. The member function isValid() must be used to test whether the results are a valid date. Because rwsf::Locale cannot rigorously check date input, dates created this way should also be reconfirmed by the user.

Example:

   rwsf::DateTime("April 4, 1998; 10:00 am",
   rwsf::DateTime::setBoth,
   rwsf::Locale::global());  // sets date and time
   rwsf::DateTime("April 4, 1998",
   rwsf::DateTime::setDate,
   rwsf::Locale::global());  // sets date and
                             // initializes time to 00:00:00
   rwsf::DateTime("10:00 am",
   rwsf::DateTime::setTime,
   rwsf::Locale::global());  // initializes date to
                             // today at time 10:00
rwsf::DateTime::DateTime ( const std::string &  str,
Format  f,
const rwsf::Locale loc = rwsf::Locale::global(),
const rwsf::TimeZone zone = rwsf::TimeZone::local() 
)

Constructs an rwsf::DateTime from the string str using the format specified by f. rwsf::DateTime currently supports the ISO 8601 format that is numeric and locale-neutral. As a result, the rwsf::Locale argument is ignored for ISO 8601, but is reserved for future use. The constructor uses the rwsf::TimeZone argument as a relative time zone offset unless the string specifies the UTC time zone or an offset from UTC, in which case the rwsf::TimeZone argument is ignored in favor of UTC.

Two Examples:

 // Construct an rwsf::DateTime of 11:59:59 PM on December
 // 24th,2001 in the rwsf::TimeZone::local() time zone.
 rwsf::DateTime("2001-12-24T23:59:59",rwsf::DateTime::iso8601);
 
 // Construct an rwsf::DateTime of 8 AM, April 12th, 1985 in
 // the GMT time zone
 rwsf::DateTime("1985-04-12T08:00:00Z", rwsf::DateTime::iso8601);

For a date or time supplied singly (for example, "2001-12-24" or "23:59:59"), rwsf::DateTime calls the system to retrieve the current date or time.


Member Function Documentation

std::string rwsf::DateTime::asString ( Format  f,
const rwsf::Locale loc = rwsf::Locale::global(),
const rwsf::TimeZone zone = rwsf::TimeZone::local() 
) const

Returns the date and time as a string, using the specified format, and relative to the time zone parameter zone.

Currently supports the ISO 8601 format. This format is numeric and locale-neutral, and as such does not use the rwsf::Locale argument.

std::string rwsf::DateTime::asString ( const char *  format,
const rwsf::Locale loc = rwsf::Locale::global(),
const rwsf::TimeZone zone = rwsf::TimeZone::local() 
) const

Returns the date and time as a string, formatted by the optional locale argument, and relative to the time zone parameter zone. The function defaults to using the rwsf::Locale global locale.

Formats are as defined in the pre-1999 Standard C Library function strftime(), explained in the description for rwsf::Locale.

std::string rwsf::DateTime::asString ( char  format,
const rwsf::Locale loc = rwsf::Locale::global(),
const rwsf::TimeZone zone = rwsf::TimeZone::local() 
) const

Returns the date and time as a string, formatted by the optional locale argument, and relative to the time zone parameter zone. The function defaults to using the rwsf::Locale global locale.

Formats are as defined in the pre-1999 Standard C Library function strftime(), explained in the description for rwsf::Locale.

static DateTime rwsf::DateTime::beginDST ( unsigned  year,
const rwsf::TimeZone zone = rwsf::TimeZone::local() 
) [static]

Returns the start of daylight saving time (DST) for the given year, in the given zone. If DST is not observed in that year and zone, still returns a time but an invalid one.

bool rwsf::DateTime::between ( const DateTime a,
const DateTime b 
) const

Returns true if self is between a and b, inclusive.

int rwsf::DateTime::compareTo ( const DateTime d  )  const

Compares self to the rwsf::DateTime referenced by d and returns:

 0 if self == d;
 1 if self  > d;
 -1 if self < d.
int rwsf::DateTime::compareTo ( const DateTime d  )  const

Compares self to the rwsf::DateTime pointed to by d and returns:

 0 if self ==  *d;
 1 if self  >  *d;
 -1 if self <  *d.
unsigned rwsf::DateTime::correctedJulian (  )  const

Returns the value of the Julian day number. This value is one day less than the value of DateTime::julian() if the time is before noon UTC (GMT).

unsigned rwsf::DateTime::day ( const rwsf::TimeZone = rwsf::TimeZone::local()  )  const

Returns the day of the year (1-366) for this date. The default for the optional time zone argument is local.

unsigned rwsf::DateTime::dayGMT (  )  const

Returns the day of the year (1-366) for this date relative to UTC (GMT).

unsigned rwsf::DateTime::dayOfMonth ( const rwsf::TimeZone = rwsf::TimeZone::local()  )  const

Returns the day of the month (1-31) for this date. The default for the optional time zone argument is local.

unsigned rwsf::DateTime::dayOfMonthGMT (  )  const

Returns the day of the month (1-31) for this date relative to UTC (GMT).

static unsigned rwsf::DateTime::dayOfWeek ( const char *  day,
const rwsf::Locale loc = rwsf::Locale::global() 
) [static]

Returns the number of the day of the week corresponding to the given day name, where Monday = 1, ..., Sunday = 7. Names are interpreted according to the optional loc argument. The method defaults to using the rwsf::Locale global locale.

static unsigned rwsf::DateTime::daysInMonthYear ( unsigned  month,
unsigned  year 
) [static]

Returns the number of days in a given month and year. Returns 0 if month is not between 1 and 12 inclusive.

static unsigned rwsf::DateTime::daysInYear ( unsigned  year  )  [static]

Returns the number of days in a given year.

static bool rwsf::DateTime::dayWithinMonth ( unsigned  mon,
unsigned  day,
unsigned  yr 
) [static]

Returns true if a day (1-31) is within a given month in a given year.

DateTime& rwsf::DateTime::decrementHour ( const rwsfint64  hour  ) 

Decrements the class's milliseconds data member by hour multiplied by DateTime::millisecsInHour, then returns self.

DateTime& rwsf::DateTime::decrementMillisecond ( const rwsfint64  millisecond  ) 

Decrements the classes' milliseconds data member by millisecond, then returns self.

DateTime& rwsf::DateTime::decrementMinute ( const rwsfint64  minute  ) 

Decrements the classes' milliseconds data member by minute multiplied by DateTime::millisecsInMin, then returns self.

DateTime& rwsf::DateTime::decrementSecond ( const rwsfint64  second  ) 

Decrements the classes' milliseconds data member by second multiplied by DateTime::millisecsInSec, then returns self.

bool rwsf::DateTime::empty (  )  const

Returns true if self is a null value.

static DateTime rwsf::DateTime::endDST ( unsigned  year,
const rwsf::TimeZone zone = rwsf::TimeZone::local() 
) [static]

Returns the end of daylight saving time (DST) for the given year, in the given zone. If DST is not observed in that year and zone, still returns a time but an invalid one.

void rwsf::DateTime::extract ( struct tm *  tmbuf,
const rwsf::TimeZone zone = rwsf::TimeZone::local() 
) const

Returns with the struct tm argument filled out completely. Note that while struct tm uses 0-based indexing for days of the week and months, rwsf::DateTime uses 1-based indexing for these two parameters. If the date is invalid, all fields are set to -1. The default for the optional time zone argument is local.

void rwsf::DateTime::extractGMT ( struct tm *  tmbuf  )  const

Returns with the struct tm argument filled out completely, relative to UTC (GMT). Note that while struct tm uses 0-based indexing for days of the week and months, rwsf::DateTime uses 1-based indexing for these two parameters. If the date is invalid, all fields are set to -1. The default for the optional time zone argument is local.

unsigned rwsf::DateTime::firstDayOfMonth ( const rwsf::TimeZone zone = rwsf::TimeZone::local()  )  const

Returns the day of the year (1-366) corresponding to the first day of this rwsf::DateTime instance's month and year. The default for the optional time zone argument is local.

unsigned rwsf::DateTime::firstDayOfMonth ( unsigned  mon,
const rwsf::TimeZone = rwsf::TimeZone::local() 
) const

Returns the day of the year (1-366) corresponding to the first day of mon in this rwsf::DateTime instance's year. The default for the optional time zone argument is local.

static unsigned rwsf::DateTime::hash ( const DateTime dt  )  [static]

Returns the hash value of dt as returned by rwsf::DateTime::hash().

unsigned rwsf::DateTime::hash (  )  const

Returns a suitable hashing value.

unsigned rwsf::DateTime::hour ( const rwsf::TimeZone = rwsf::TimeZone::local()  )  const

Returns the hour relative to the time zone specified. The default for the optional time zone argument is local.

unsigned rwsf::DateTime::hourGMT (  )  const

Returns the hour relative to UTC (GMT).

DateTime& rwsf::DateTime::incrementHour ( const rwsfint64  hour  ) 

Increments the class' milliseconds data member by hour times DateTime::millisecsInHour, then returns self.

DateTime& rwsf::DateTime::incrementMillisecond ( const rwsfint64  millisecond  ) 

Increments the class' milliseconds data member by millisecond, then returns self.

DateTime& rwsf::DateTime::incrementMinute ( const rwsfint64  minute  ) 

Increments the classes' milliseconds data member by minute multiplied by DateTime::millisecsInMin, then returns self.

DateTime& rwsf::DateTime::incrementSecond ( const rwsfint64  second  ) 

Increments the classes' milliseconds data member by second multiplied by DateTime::millisecsInSec, then returns self.

static unsigned rwsf::DateTime::indexOfMonth ( const char *  month,
const rwsf::Locale loc = rwsf::Locale::global() 
) [static]

Returns a number between 1 and 12 corresponding to the given month name. Returns 0 for no match. Months are interpreted based on the optional loc argument. The method defaults to using the rwsf::Locale global locale.

bool rwsf::DateTime::isDST ( const rwsf::TimeZone zone = rwsf::TimeZone::local()  )  const

Returns true if self is during daylight saving time in the time zone given by zone, false otherwise.

bool rwsf::DateTime::isFuture (  )  const

Returns true if self is a future sentinel.

bool rwsf::DateTime::isInvalid (  )  const

Returns true if self is an invalid sentinel.

bool rwsf::DateTime::isNull (  )  const

Returns true if self is a null sentinel.

bool rwsf::DateTime::isPast (  )  const

Returns true if self is a past sentinel.

bool rwsf::DateTime::isSentinel (  )  const

Returns true if self is a sentinel of any kind.

bool rwsf::DateTime::isValid (  )  const

Returns true if self represents an actual time or is the null sentinel, false otherwise.

void rwsf::DateTime::julian ( unsigned  j  ) 

Sets the value of the Modified Julian day number to j.

unsigned rwsf::DateTime::julian (  )  const

Returns the value of the Modified Julian day number.

void rwsf::DateTime::julianDay ( double  j  ) 

Sets the value of the date and time to the Modified Julian day number j. The integer (whole number) part of the double indicates the day, and the fractional part indicates the time. For example, the Julian day number for 1/1/1901 is 2415386. Since Julian days start at midnight GMT, 12 a.m. is 2415386.5 and 6 p.m. is 2415386.75.

Note:
The example values are for an rwsf::DateTime instance set to the Greenwich meridian. The results would be different for rwsf::DateTime instances set to a different time zone.
double rwsf::DateTime::julianDay (  )  const

Returns the value of the current date and time as a Modified Julian day number. The integer (whole number) part of the double indicates the day, and the fractional part indicates the time. For example, the Modified Julian day number for 1/1/1901 is 2415386. Since Modified Julian days start at midnight GMT, 12 a.m. is 2415386.5 and 6 p.m. is 2415386.75.

Note:
The example values are computed using Greenwich meridian. A different time zone would change the result of julianDay().
bool rwsf::DateTime::leap ( const rwsf::TimeZone zone = rwsf::TimeZone::local()  )  const

Returns true if self is a leap year relative to the rwsf::TimeZone argument.

bool rwsf::DateTime::leapGMT (  )  const

Returns true if self is a leap year relative to UTC (GMT).

static bool rwsf::DateTime::leapYear ( unsigned  year  )  [static]

Returns true if a given year is a leap year.

DateTime() rwsf::DateTime::max ( const DateTime t  )  const

Returns the later rwsf::DateTime of self or t.

unsigned rwsf::DateTime::milliSecond (  )  const

Returns the millisecond part of self.

rwsfint64 rwsf::DateTime::milliSeconds (  )  const

Returns the number of milliseconds since 00:00:00:000 January 1, 1901 UTC.

DateTime() rwsf::DateTime::min ( const DateTime t  )  const

Returns the earlier rwsf::DateTime of self or t.

unsigned rwsf::DateTime::minute ( const rwsf::TimeZone = rwsf::TimeZone::local()  )  const

Returns the minute of self, adjusted to the time zone specified.

unsigned rwsf::DateTime::minuteGMT (  )  const

Returns the minute of self relative to UTC (GMT).

unsigned rwsf::DateTime::month ( const rwsf::TimeZone = rwsf::TimeZone::local()  )  const

Returns the month (1-12) for this date. The default for the optional time zone argument is local.

unsigned rwsf::DateTime::monthGMT (  )  const

Returns the month (1-12) for this date relative to UTC (GMT).

std::string rwsf::DateTime::monthName ( const rwsf::Locale loc = rwsf::Locale::global(),
const rwsf::TimeZone = rwsf::TimeZone::local() 
) const

Returns the name of the month for this date, according to the optional locale argument. The method defaults to using the rwsf::Locale global locale.

static std::string rwsf::DateTime::nameOfMonth ( unsigned  monthNum,
const rwsf::Locale loc = rwsf::Locale::global() 
) [static]

Returns the name of the month for monthNum, where January = 1, ..., December = 12. Months are interpreted based on the optional loc argument. The method defaults to using the rwsf::Locale global locale.

DateTime rwsf::DateTime::next ( const char *  dayName,
const rwsf::Locale loc = rwsf::Locale::global(),
const rwsf::TimeZone = rwsf::TimeZone::local() 
) const

Returns the date of the next dayName (for example, the date of the next Monday). The weekday name is interpreted according to the optional locale argument.

DateTime rwsf::DateTime::next ( unsigned  dayNum,
const rwsf::TimeZone = rwsf::TimeZone::local() 
) const

Returns the date of the next day of the week, where Monday = 1, ..., Sunday = 7. The parameter dayNum must be between 1 and 7, inclusive. The default for the optional time zone argument is local.

static DateTime rwsf::DateTime::now (  )  [static]

Returns current date and time.

DateTime& rwsf::DateTime::operator= ( const DateTime dt  ) 

Assignment operator.

DateTime rwsf::DateTime::previous ( const char *  dayName,
const rwsf::Locale loc = rwsf::Locale::global(),
const rwsf::TimeZone = rwsf::TimeZone::local() 
) const

Returns the day of the previous dayName; for example, the date of the previous Monday. The weekday name is interpreted according to the optional locale argument. The method defaults to using the rwsf::Locale global locale.

DateTime rwsf::DateTime::previous ( unsigned  dayNum,
const rwsf::TimeZone = rwsf::TimeZone::local() 
) const

Returns the date of the previous numbered day of the week, where Monday = 1, ..., Sunday = 7. The parameter dayNum must be between 1and 7, inclusive. The default for the optional time zone argument is local.

unsigned rwsf::DateTime::second (  )  const

Returns the seconds part of self.

Note:
This value does not vary depending on the time zone.
static DateTime rwsf::DateTime::userSentinel ( int  i  )  [static]

Returns user-defined sentinel number i. Throws rwsf::OutOfBoundsException if the parameter is outside the range 0 to 127.

unsigned rwsf::DateTime::weekDay ( const rwsf::TimeZone = rwsf::TimeZone::local()  )  const

Returns the number of the day of the week for this date, where Monday = 1, ..., Sunday = 7.

unsigned rwsf::DateTime::weekDayGMT (  )  const

Returns the number of the day of the week for this date relative to UTC (GMT).

static std::string rwsf::DateTime::weekDayName ( unsigned  dayNum,
const rwsf::Locale loc = rwsf::Locale::global() 
) [static]

Returns the name of the day of the week for dayNum, where Monday = 1, ..., Sunday = 7. Days are interpreted based on the optional loc argument. The method defaults to using the rwsf::Locale global locale.

std::string rwsf::DateTime::weekDayName ( const rwsf::Locale loc = rwsf::Locale::global(),
const rwsf::TimeZone = rwsf::TimeZone::local() 
) const

Returns the name of the day of the week for this date, according to the optional locale argument. The method defaults to using the rwsf::Locale global locale.

unsigned rwsf::DateTime::year ( const rwsf::TimeZone = rwsf::TimeZone::local()  )  const

Returns the year of self. The default for the optional time zone argument is local.

unsigned rwsf::DateTime::yearGMT (  )  const

Returns the year of self relative to UTC (GMT).


Friends And Related Function Documentation

bool operator!= ( const DateTime lhs,
const DateTime rhs 
) [related]

Returns true if lhs is not the same as rhs.

DateTime operator+ ( rwsfint64  ms,
const DateTime dt 
) [friend]

Returns the date ms milliseconds in the future from the date dt.

DateTime operator+ ( const DateTime dt,
rwsfint64  ms 
) [friend]

Returns the date ms milliseconds in the future from the date dt.

rwsfint64 operator- ( const DateTime dt1,
const DateTime dt2 
) [friend]

Returns the number of milliseconds between dt1 and dt2.

DateTime operator- ( const DateTime dt,
rwsfint64  ms 
) [friend]

Returns the date ms milliseconds in the past from dt.

bool operator< ( const DateTime t1,
const DateTime t2 
) [friend]

Returns true if t1 is before t2.

bool operator<= ( const DateTime lhs,
const DateTime rhs 
) [related]

Returns true if lhs is before or the same as rhs.

bool operator== ( const DateTime t1,
const DateTime t2 
) [friend]

Returns true if t1 is the same as t2.

bool operator> ( const DateTime lhs,
const DateTime rhs 
) [related]

Returns true if lhs is after rhs.

bool operator>= ( const DateTime lhs,
const DateTime rhs 
) [related]

Return true if lhs is after or the same as rhs.


Member Data Documentation

const rwsfint64 rwsf::DateTime::futureSentinel [static]

Sentinel values representing future rwsf::DateTime instances.

const rwsfint64 rwsf::DateTime::invalidSentinel [static]

Sentinel values for invalid rwsf::DateTime sentinels.

const rwsfint64 rwsf::DateTime::jday0 [static]

The millisecond count at noon on Julian day zero.

const rwsfint64 rwsf::DateTime::jul1901 [static]

Julian Day Number for noon 1/1/1901.

const rwsfint64 rwsf::DateTime::maxDateTime [static]

The maximum number of milliseconds that an rwsf::DateTime may hold.

const rwsfint64 rwsf::DateTime::midnightJday0 [static]

The millisecond count at midnight on Julian day zero.

const rwsfint64 rwsf::DateTime::midnightJul1901 [static]

Julian Day Number for midnight 1/1/1901.

const rwsfint64 rwsf::DateTime::millisecsInDay [static]

The number of milliseconds in a day.

const rwsfint64 rwsf::DateTime::millisecsInHour [static]

The number of milliseconds in a hour.

const rwsfint64 rwsf::DateTime::millisecsInMin [static]

The number of milliseconds in a minute.

const rwsfint64 rwsf::DateTime::millisecsInSec [static]

The number of milliseconds in a second.

const rwsfint64 rwsf::DateTime::minDateTime [static]

The minimum number of milliseconds that an rwsf::DateTime may hold.

const rwsfint64 rwsf::DateTime::nullSentinel [static]

Sentinel values for null rwsf::DateTime sentinels.

const rwsfint64 rwsf::DateTime::pastSentinel [static]

Sentinel values representing past rwsf::DateTime instances.

const rwsfint64 rwsf::DateTime::userSentinelStart [static]

The starting value for user-defined sentinels.


Copyright © Rogue Wave Software, Inc. All Rights Reserved.

The Rogue Wave name and logo are registered trademarks of Rogue Wave Software, and HydraExpress is a trademark of Rogue Wave Software. All other trademarks are the property of their respective owners.