SourcePro C++ 12.0 |
SourcePro® C++ API Reference Guide |
SourcePro C++ Documentation Home |
Deprecated. Represents a date stored as a Julian day number. More...
#include <rw/rwdate.h>
Public Member Functions | |
RWDate () | |
RWDate (unsigned long jd) | |
RWDate (unsigned day, unsigned year) | |
RWDate (unsigned day, const char *month, unsigned year, const RWLocale &loc=RWLocale::global()) | |
RWDate (unsigned day, unsigned month, unsigned year) | |
RWDate (std::istream &s, const RWLocale &loc=RWLocale::global()) | |
RWDate (const RWCString &str, const RWLocale &loc=RWLocale::global()) | |
RWDate (const RWTime &t, const RWZone &zone=RWZone::local()) | |
RWDate (const struct tm *tmbuf) | |
RWDate (const RWDate &d) | |
RWDate & | operator= (const RWDate &d) |
RWCString | asString (char format= 'x', const RWLocale &loc=RWLocale::global()) const |
RWCString | asString (const char *format, const RWLocale &loc=RWLocale::global()) const |
bool | between (const RWDate &a, const RWDate &b) const |
int | compareTo (const RWDate *d) const |
unsigned | day () const |
unsigned | dayOfMonth () const |
void | extract (struct tm *tmbuf) const |
unsigned | firstDayOfMonth (unsigned month) const |
unsigned | firstDayOfMonth () const |
unsigned | hash () const |
bool | isValid () const |
unsigned long | julian () const |
void | julian (const unsigned long j) |
bool | leap () const |
RWDate | max (const RWDate &dt) const |
RWDate | min (const RWDate &dt) const |
unsigned | month () const |
RWCString | monthName (const RWLocale &loc=RWLocale::global()) const |
RWDate | next (const char *dayName, const RWLocale &loc=RWLocale::global()) const |
RWDate | next (unsigned dayNum) const |
RWDate | previous (const char *dayName, const RWLocale &loc=RWLocale::global()) const |
RWDate | previous (unsigned dayNum) const |
unsigned | weekDay () const |
RWCString | weekDayName (const RWLocale &loc=RWLocale::global()) const |
unsigned | year () const |
RWDate & | operator++ () |
RWDate & | operator-- () |
RWDate | operator++ (int) |
RWDate | operator-- (int) |
RWDate & | operator+= (unsigned long s) |
RWDate & | operator-= (unsigned long s) |
RWspace | binaryStoreSize () const |
Static Public Member Functions | |
static unsigned | dayOfWeek (const char *dayName, const RWLocale &loc=RWLocale::global()) |
static unsigned | daysInYear (unsigned year) |
static unsigned | daysInMonthYear (unsigned month, unsigned year) |
static bool | dayWithinMonth (unsigned month, unsigned day, unsigned year) |
static unsigned | hash (const RWDate &d) |
static unsigned | indexOfMonth (const char *monthName, const RWLocale &loc=RWLocale::global()) |
static unsigned long | jday (unsigned month, unsigned day, unsigned year) |
static bool | leapYear (unsigned year) |
static RWCString | nameOfMonth (unsigned monNum, const RWLocale &loc=RWLocale::global()) |
static RWDate | now () |
static RWCString | weekDayName (unsigned day, const RWLocale &loc=RWLocale::global()) |
Friends | |
std::ostream & | operator<< (std::ostream &s, const RWDate &d) |
std::istream & | operator>> (std::istream &s, RWDate &t) |
RWDate | operator+ (const RWDate &dt, unsigned long dd) |
RWDate | operator+ (unsigned long dd, const RWDate &dt) |
RWDate | operator- (const RWDate &dt, unsigned long dd) |
unsigned long | operator- (const RWDate &d1, const RWDate &d2) |
bool | operator< (const RWDate &d1, const RWDate &d2) |
bool | operator== (const RWDate &d1, const RWDate &d2) |
bool | operator<= (const RWDate &d1, const RWDate &d2) |
bool | operator> (const RWDate &d1, const RWDate &d2) |
bool | operator>= (const RWDate &d1, const RWDate &d2) |
bool | operator!= (const RWDate &d1, const RWDate &d2) |
Related Functions | |
(Note that these are not member functions.) | |
RWvistream & | operator>> (RWvistream &str, RWDate &date) |
RWFile & | operator>> (RWFile &file, RWDate &date) |
RWvostream & | operator<< (RWvostream &str, const RWDate &date) |
RWFile & | operator<< (RWFile &file, const RWDate &date) |
Class RWDate represents a date, stored as a Julian day number. The member function isValid() can be used to determine whether an RWDate is a valid date. For example, isValid() would return false
for the date 29 February 1991 because 1991 is not a leap year. See the chapter on date and time classes in the Essential Tools Module User's Guide.
RWDate instances can be converted to and from RWTime instances, and to and from the Standard C Library type struct tm
defined in <time.h>
.
We recommend creating programs that use four-digit year specifiers. For more information, see the section on RWDate in the Essential Tools Module User's Guide.
Note that because the default constructor for this class creates an instance holding the current date, constructing a large array of RWDate may be slow.
RWDate v[5000]; // Figures out the current date 5000 times
Those with access to the C++ Standard Library-based versions of the Essential Tools Module template collections should consider the following:
// Figures out the current date just once: RWTValOrderedVector<RWDate> v(5000, RWDate());
Thanks to the smart allocation scheme of the standard collections, the above declaration results in only one call to the default constructor, followed by 5000 invocations of the copy constructor. In the case of RWDate, the copy constructor amounts to an assignment of one long
to another, resulting in faster creation than the simple array.
#include <rw/rwdate.h> RWDate a; // Construct today's date
Simple
#include <rw/rwdate.h> int main () { // ENIAC start date RWDate d (14, "February", 1945); // Today RWDate today; std::cout << d.asString("%A, %B %d 19%y") << " was the day the ENIAC computer was\nfirst turned on. " << today - d << " days have gone by since then. " << std::endl; return 0; }
RWDate::RWDate | ( | ) | [inline] |
Default constructor. Constructs an RWDate with the present date.
RWDate::RWDate | ( | unsigned long | jd | ) | [inline] |
Constructs a date from the Julian Day number jd. Note that it is possible to construct a valid RWDate that represents a day previous to the beginning of the Gregorian calendar for some locality. Rogue Wave doesn't know the specifics for your locality, so will not enforce an arbitrary cutoff for "validity."
RWDate::RWDate | ( | unsigned | day, | |
unsigned | year | |||
) |
RWDate::RWDate | ( | unsigned | day, | |
const char * | month, | |||
unsigned | year, | |||
const RWLocale & | loc = RWLocale::global() | |||
) |
Constructs an RWDate with the given day of the month, month, and year. The locale argument is used to convert the month name. Days should be 1-31, months may be specified as (for example): January, JAN, or Jan, and the year may be specified as (for example) 1990, or 90. The member function isValid() can be used to test whether the results are a valid date.
RWDate::RWDate | ( | unsigned | day, | |
unsigned | month, | |||
unsigned | year | |||
) |
RWDate::RWDate | ( | std::istream & | s, | |
const RWLocale & | loc = RWLocale::global() | |||
) | [inline] |
RWDate::RWDate | ( | const struct tm * | tmbuf | ) |
RWDate::RWDate | ( | const RWDate & | d | ) | [inline] |
Copy constructor.
Returns true
if this RWDate is between a and b, inclusive.
RWspace RWDate::binaryStoreSize | ( | ) | const [inline] |
Returns the number of bytes necessary to store the object using the global function
RWFile& operator<<(RWFile&, const RWDate&);
Reimplemented in RWCollectableDate.
int RWDate::compareTo | ( | const RWDate * | d | ) | const |
Compares self to the RWDate pointed to by d and returns:
0 if self == *d;
1 if self > *d;
-1 if self < *d.
unsigned RWDate::day | ( | ) | const |
Returns the day of the year (1-366) for this date.
unsigned RWDate::dayOfMonth | ( | ) | const |
Returns the day of the month (1-31) for this date.
unsigned RWDate::dayOfWeek | ( | const char * | dayName, | |
const RWLocale & | loc = RWLocale::global() | |||
) | [inline, static] |
Returns the number of the day of the week corresponding to the given dayName ( Monday = 1, ..., Sunday = 7). Names are interpreted by the optional RWLocale argument. Returns 0 if no match is found.
static unsigned RWDate::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 RWDate::daysInYear | ( | unsigned | year | ) | [static] |
Returns the number of days in a given year.
static bool RWDate::dayWithinMonth | ( | unsigned | month, | |
unsigned | day, | |||
unsigned | year | |||
) | [static] |
Returns true
if a day (1-31) is within a given month in a given year, otherwise false
.
void RWDate::extract | ( | struct tm * | tmbuf | ) | const |
Returns with the struct tm
argument filled out completely, with the time members set to 0 and tm_isdst
set to -1. Note that the encoding for months and days of the week used in struct tm
differs from that used elsewhere in RWDate. If the date is invalid, all fields are set to -1.
unsigned RWDate::firstDayOfMonth | ( | ) | const [inline] |
Returns the day of the year (1-366) corresponding to the first day of the month and year for this RWDate.
unsigned RWDate::firstDayOfMonth | ( | unsigned | month | ) | const |
Returns the day of the year (1-366) corresponding to the first day of the month month (1-12) of the year for this RWDate.
static unsigned RWDate::hash | ( | const RWDate & | d | ) | [static] |
Returns the hash value of d as returned by d.hash()
.
unsigned RWDate::hash | ( | ) | const |
Returns a suitable hashing value.
Reimplemented in RWCollectableDate.
unsigned RWDate::indexOfMonth | ( | const char * | monthName, | |
const RWLocale & | loc = RWLocale::global() | |||
) | [inline, static] |
Returns the number of the month (1-12) corresponding to the given monthName. Returns 0 for no match.
bool RWDate::isValid | ( | void | ) | const [inline] |
Returns true
if this
is a valid date, false
otherwise.
static unsigned long RWDate::jday | ( | unsigned | month, | |
unsigned | day, | |||
unsigned | year | |||
) | [static] |
Returns the Julian day corresponding to the given month (1-12), day (1-31) and year. Returns zero (0) if the date is invalid.
void RWDate::julian | ( | const unsigned long | j | ) | [inline] |
Changes the value of the Julian day number to j.
unsigned long RWDate::julian | ( | ) | const [inline] |
Returns the value of the Julian day number.
bool RWDate::leap | ( | ) | const [inline] |
Returns true
if the year of this RWDate is a leap year, otherwise false
.
static bool RWDate::leapYear | ( | unsigned | year | ) | [static] |
Returns true
if a given year is a leap year, otherwise false
.
unsigned RWDate::month | ( | ) | const |
Returns the month (1-12) for this date.
Returns the name of the month for this date, according to the optional RWLocale argument.
static RWCString RWDate::nameOfMonth | ( | unsigned | monNum, | |
const RWLocale & | loc = RWLocale::global() | |||
) | [static] |
Returns the name of month monNum ( January = 1, ..., December = 12), formatted for the given locale.
RWDate RWDate::next | ( | unsigned | dayNum | ) | const |
Returns the date of the next numbered day of the week, where Monday = 1, ..., Sunday = 7. The variable dayNum must be between 1 and 7, inclusive.
Returns the date of the next dayName (for example, the date of the previous Monday) The weekday name is interpreted according to the optional RWLocale argument.
static RWDate RWDate::now | ( | ) | [static] |
Returns today's date.
RWDate RWDate::operator++ | ( | int | ) | [inline] |
Postfix increment operator. Adds one day to self, returning the initial value.
RWDate& RWDate::operator++ | ( | ) | [inline] |
Prefix increment operator. Adds one day to self, returning the result.
RWDate& RWDate::operator+= | ( | unsigned long | s | ) | [inline] |
Adds s days to self, returning self.
RWDate RWDate::operator-- | ( | int | ) | [inline] |
Postfix decrement operator. Subtracts one day from self, returning the initial value.
RWDate& RWDate::operator-- | ( | ) | [inline] |
Prefix decrement operator. Subtracts one day from self, returning the result.
RWDate& RWDate::operator-= | ( | unsigned long | s | ) | [inline] |
Subtracts s days from self, returning self.
RWDate RWDate::previous | ( | unsigned | dayNum | ) | const |
Returns the date of the previous numbered day of the week, where Monday = 1, ..., Sunday = 7. The variable dayNum must be between 1 and 7, inclusive.
Returns the date of the previous dayName (for example, the date of the previous Monday) The weekday name is interpreted according to the optional RWLocale argument.
unsigned RWDate::weekDay | ( | ) | const |
Returns the number of the day of the week for this date, where Monday = 1, ..., Sunday = 7.
static RWCString RWDate::weekDayName | ( | unsigned | day, | |
const RWLocale & | loc = RWLocale::global() | |||
) | [static] |
Returns the name of the day of the week day ( Monday = 1, ..., Sunday = 7), formatted for the given locale. The function defaults to the RWLocale global locale.
unsigned RWDate::year | ( | ) | const |
Returns the year of this date.
Returns true
if the date d1 is not the same as d2, otherwise false
.
Returns the date dd days in the future from the date dt.
Returns the date dd days in the future from the date dt.
If d1 > d2, returns the number of days between d1 and d2. Otherwise, the result is implementation-defined.
Returns the date dd days in the past from dt.
Returns true
if the date d1 is before d2, otherwise false
.
Saves the date into date from the RWFile file.
RWvostream & operator<< | ( | RWvostream & | str, | |
const RWDate & | date | |||
) | [related] |
Saves the date into date from the virtual stream str.
std::ostream& operator<< | ( | std::ostream & | s, | |
const RWDate & | d | |||
) | [friend] |
Outputs the date d on ostream
s, according to the locale imbued in the stream (see class RWLocale), or by RWLocale::global() if none.
Returns true
if the date d1 is before or the same as d2, otherwise false
.
Returns true
if the date d1 is the same as d2, otherwise false
.
Returns true
if the date d1 is after d2, otherwise false
.
Returns true
if the date d1 is after or the same as d2, otherwise false
.
Restores the date into date from the RWFile file, replacing the previous contents of date.
RWvistream & operator>> | ( | RWvistream & | str, | |
RWDate & | date | |||
) | [related] |
Restores the date into date from the virtual stream str, replacing the previous contents of date.
std::istream& operator>> | ( | std::istream & | s, | |
RWDate & | t | |||
) | [friend] |
Reads t from std::istream s. One full line is read, and the string contained is converted according to the locale imbued in the stream (see class RWLocale), or by RWLocale::global() if none. The function RWDate::isValid() must be used to test whether the results are a valid date.
© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.