バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWDate
#include <rw/rwdate.h>RWDate a; // 今日の日付を作成する
このクラスは RWTime との間で、また <time.h> で定義されている標準 C ライブラリ型 struct tm との間でデータを変換できます。
コードの中で年数を 2 桁で指定していると、世紀が変わったときに不完全な動作をする可能性があります。4 桁の年数を使用して、千年単位では正確となるようなプログラムを作成することをお薦めします。
このクラスのデフォルトのコンストラクタは現在の日付を保持するインスタンスを作成しますので、RWDate の大きな配列の作成には時間がかかるかもしれません。
RWDate v[5000]; // 現在の日付を 5000 回作成する
// 現在の日付を 1 回だけ作成する RWTValOrderedVector<RWDate> v(5000, RWDate());
#include <rw/rwdate.h> #include <rw/rstream.h> main() { // 今日の日付 RWDate d; // 前の日曜日の日付 RWDate lastSunday = d.previous("Sunday"); cout << d << endl << lastSunday << endl; } |
03/22/91 03/17/91 |
RWDate();
RWDate(const RWDate&);
RWDate(unsigned day, unsigned year);
RWDate(unsigned day, unsigned month, unsigned year);
RWDate(unsigned day, const char* mon, unsigned year, const RWLocale& locale = RWLocale::global());
RWDate(istream& s,const RWLocale& locale = RWLocale::global());
RWDate(const RWCString& str, const RWLocale& locale = RWLocale::global());
RWDate(const RWTime& t, const RWZone& zone = RWZone::local());
RWDate(const struct tm*);
RWDate(unsigned long jd);
RWDate& operator=(const RWDate&);
RWDate operator++();
RWDate operator--();
RWDate operator++(int);
RWDate operator--(int);
RWDate& operator+=(unsigned long s);
RWDate& operator-=(unsigned long s);
RWCString asString(char format = 'x', const RWLocale& = RWLocale::global()) const;
RWCString asString(const char* format, const RWLocale& = RWLocale::global()) const;
RWBoolean between(const RWDate& a, const RWDate& b) const;
size_t binaryStoreSize() const;
RWFile& operator<<(RWFile&, const RWDate&); int compareTo(const RWDate* d) const;
0 | 自分自身が *d と等しい場合 |
1 | 自分自身が *d より大きい場合 |
-1 | 自分自身が *d より小さい場合 |
unsigned day() const;
unsigned dayOfMonth() const;
void extract(struct tm*) const;
unsigned firstDayOfMonth() const;
unsigned firstDayOfMonth(unsigned month) const;
unsigned hash() const;
RWBoolean isValid() const;
unsigned long julian() const;
void julian(unsigned long j);
RWBoolean leap() const;
RWDate max(const RWDate& t) const;
RWDate min(const RWDate& t) const;
unsigned month() const;
RWCString monthName(const RWLocale& = RWLocale::global()) const;
RWDate next(unsigned dayNum) const;
RWDate next(const char* dayName, const RWLocale& = RWLocale::global()) const;
RWDate previous(unsigned dayNum) const;
RWDate previous(const char* dayName, const RWLocale& = RWLocale::global()) const;
RWCString weekDayName(const RWLocale& = RWLocale::global()) const;
unsigned weekDay() const;
unsigned year() const;
static unsigned dayOfWeek(const char* dayName, const RWLocale& = RWLocale::global());
static unsigned daysInMonthYear(unsigned month, unsigned year);
static unsigned daysInYear(unsigned year);
static RWBoolean dayWithinMonth(unsigned monthNum, unsigned dayNum, unsigned year);
static unsigned hash(const RWDate& d);
static unsigned indexOfMonth(const char* monthName,
static unsigned long jday(unsigned mon, unsigned day, unsigned year);
static RWCString nameOfMonth(unsigned monNum, const RWLocale& = RWLocale::global());
static RWBoolean leapYear(unsigned year);
static RWDate now();
static RWCString weekDayName(unsigned dayNum, const RWLocale& = RWLocale::global());
RWBoolean operator<(const RWDate& d1, const RWDate& d2);
RWBoolean operator<=(const RWDate& d1, const RWDate& d2);
RWBoolean operator>(const RWDate& d1, const RWDate& d2);
RWBoolean operator>=(const RWDate& d1, const RWDate& d2);
RWBoolean operator==(const RWDate& d1, const RWDate& d2);
RWBoolean operator!=(const RWDate& d1, const RWDate& d2);
RWDate operator+(const RWDate& d, unsigned long s); RWDate operator+(unsigned long s, const RWDate& d);
unsigned long operator-(const RWDate& d1, const RWDate& d2);
RWDate operator-(const RWDate& d, unsigned long s);
ostream& operator<<(ostream& s, const RWDate& d);
istream& operator>>(istream& s, RWDate& t);
RWvostream& operator<<(RWvostream&, const RWDate& date); RWFile& operator<<(RWFile&, const RWDate& date);
RWvistream& operator>>(RWvistream&, RWDate& date); RWFile& operator>>(RWFile&, RWDate& date);