SourcePro® 2023.1 |
SourcePro® API Reference Guide |
Represents a date stored as a Julian day number. More...
#include <rw/rwdate.h>
Public Member Functions | |
RWDate () | |
RWDate (unsigned jd) | |
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 RWTimeTuple &tt) | |
RWDate (const RWTimeTupleOffset &tt) | |
RWDate (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 |
RWspace | binaryStoreSize () 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 | julian () const |
void | julian (unsigned 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 & | operator++ () |
RWDate | operator++ (int) |
RWDate & | operator+= (unsigned s) |
RWDate & | operator-- () |
RWDate | operator-- (int) |
RWDate & | operator-= (unsigned s) |
RWDate & | operator= (const RWDate &d) |
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 |
Static Public Member Functions | |
static unsigned | dayOfWeek (const char *dayName, const RWLocale &loc=RWLocale::global()) |
static unsigned | daysInMonthYear (unsigned month, unsigned year) |
static unsigned | daysInYear (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 | 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 | |
bool | operator!= (const RWDate &d1, const RWDate &d2) |
RWDate | operator+ (const RWDate &dt, unsigned dd) |
RWDate | operator+ (unsigned dd, const RWDate &dt) |
RWDate | operator- (const RWDate &dt, unsigned dd) |
unsigned | operator- (const RWDate &d1, const RWDate &d2) |
bool | operator< (const RWDate &d1, const RWDate &d2) |
std::ostream & | operator<< (std::ostream &s, const RWDate &d) |
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) |
std::istream & | operator>> (std::istream &s, RWDate &t) |
Related Functions | |
(Note that these are not member functions.) | |
RWvostream & | operator<< (RWvostream &str, const RWDate &date) |
RWFile & | operator<< (RWFile &file, const RWDate &date) |
RWvistream & | operator>> (RWvistream &str, RWDate &date) |
RWFile & | operator>> (RWFile &file, 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.
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.
When using the Essential Tools Module template collections, consider the following:
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 int
to another, resulting in faster creation than the simple array.
|
inline |
Default constructor. Constructs an RWDate with the present date.
|
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."
|
explicit |
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 | ||
) |
|
inline |
RWDate::RWDate | ( | const RWCString & | str, |
const RWLocale & | loc = RWLocale::global() |
||
) |
RWDate::RWDate | ( | const RWTime & | t, |
const RWZone & | zone = RWZone::local() |
||
) |
RWDate::RWDate | ( | const struct tm * | tmbuf | ) |
|
explicit |
Constructs an RWDateTime using the RWTimeTuple tt. Only the year, month and day of month values are referenced. All other members of tt are ignored.
If the tt represents a date prior to -4713-11-25, an invalid RWDate instance is constructed.
In 32-bit builds, if the tt represents a date after 11754509-07-22, and invalid RWDate instance is constructed.
|
explicit |
Constructs an RWDateTime using the RWTimeTupleOffset tt. Only the year, month and day of month values are referenced. All other members of tt are ignored.
If the tt represents a date prior to -4713-11-25, an invalid RWDate instance is constructed.
In 32-bit builds, if the tt represents a date after 11754509-07-22, and invalid RWDate instance is constructed.
|
inline |
Copy constructor.
RWCString RWDate::asString | ( | char | format = 'x' , |
const RWLocale & | loc = RWLocale::global() |
||
) | const |
RWCString RWDate::asString | ( | const char * | format, |
const RWLocale & | loc = RWLocale::global() |
||
) | const |
Returns true
if this RWDate is between a and b, inclusive.
|
inline |
Returns the number of bytes necessary to store the object using the global function
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.
|
inlinestatic |
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 |
Returns the number of days in a given month and year. Returns 0 if month is not between 1 and 12, inclusive.
|
static |
Returns the number of days in a given 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 | ( | 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.
|
inline |
Returns the day of the year (1-366) corresponding to the first day of the month and year for this RWDate.
unsigned RWDate::hash | ( | ) | const |
Returns a suitable hashing value.
|
static |
Returns the hash value of d as returned by d.hash()
.
|
inlinestatic |
Returns the number of the month (1-12) corresponding to the given monthName. Returns 0 for no match.
|
inline |
Returns true
if this
is a valid date, false
otherwise.
|
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.
|
inline |
Returns the value of the Julian day number.
|
inline |
Changes the value of the Julian day number to j.
|
inline |
Returns true
if the year of this RWDate is a leap year, otherwise false
.
|
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.
|
inline |
Returns the name of the month for this date, according to the optional RWLocale argument.
|
static |
Returns the name of month monNum ( January = 1, ..., December = 12), formatted for the given locale.
RWDate RWDate::next | ( | const char * | dayName, |
const RWLocale & | loc = RWLocale::global() |
||
) | const |
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.
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.
|
static |
Returns today's date.
|
inline |
Prefix increment operator. Adds one day to self, returning the result.
|
inline |
Postfix increment operator. Adds one day to self, returning the initial value.
|
inline |
Adds s days to self, returning self.
|
inline |
Prefix decrement operator. Subtracts one day from self, returning the result.
|
inline |
Postfix decrement operator. Subtracts one day from self, returning the initial value.
|
inline |
Subtracts s days from self, returning self.
RWDate RWDate::previous | ( | const char * | dayName, |
const RWLocale & | loc = RWLocale::global() |
||
) | const |
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.
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.
unsigned RWDate::weekDay | ( | ) | const |
Returns the number of the day of the week for this date, where Monday = 1, ..., Sunday = 7.
|
inline |
|
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.
Returns the date dd days in the past from dt.
If d1 > d2, returns the number of days between d1 and d2. Otherwise, the result is implementation-defined.
Returns true
if the date d1 is before d2, otherwise false
.
|
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.
|
related |
Saves the date into date from the virtual stream str.
Saves the date into date from the RWFile file.
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
.
|
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.
|
related |
Restores the date into date from the virtual stream str, replacing the previous contents of date.
Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |