バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWZone
#include <time.h> #include <rw/zone.h> (抽象基底クラス)
ほとんどのプログラムにとって RWZone とのかかわりは、RWZone への参照を RWTime または RWDate のメンバー関数に渡すことだけです。
RWZoneSimple は、米国の夏時間規則を十分表現できる、抽象 RWZone インタフェースを実装しています。RWZoneSimple の 3 つのインスタンスがプログラムの実行開始時に大域的実行環境から初期化されます。それらは現地時間、標準時間、世界時間をそれぞれ表します。これらのインスタンスは、RWZone::local()、RWZone::standard()、RWZone::utc() の各静的メンバー関数を呼び出すと使用可能になります。詳細は、RWZoneSimple を参照してください。
#include <rw/zone.h> #include <rw/rwtime.h> #include <rw/rstream.h> main(){ RWTime now; cout << now.asString('\0', RWZone::local()) << endl; cout << now.asString("%x %X", RWZone::utc()) << endl; return 0; } |
enum DstRule { NoDST, NoAm, WeEu };
enum StdZone { NewZealand = -12, CarolineIslands, MarianaIslands, Japan, China, Java, Kazakh, Pakistan, CaspianSea, Ukraine, Nile, Europe, Greenwich, Azores, Oscar, Greenland, Atlantic, USEastern, USCentral, USMountain, USPacific, Yukon, Hawaii, Bering };
virtual int timeZoneOffset() const = 0;
virtual int altZoneOffset() const = 0;
virtual RWBoolean daylightObserved() const = 0;
virtual RWBoolean isDaylight(const struct tm* tspec) const = 0;
virtual void getBeginDaylight(struct tm*) const = 0; virtual void getEndDaylight (struct tm*) const = 0;
virtual RWCString timeZoneName() const = 0; virtual RWCString altZoneName() const = 0;
static const RWZone& local();
static const RWZone& standard();
static const RWZone& utc();
static const RWZone* local(const RWZone*); static const RWZone* standard(const RWZone*);
static constRWDaylightRule* dstRule(DstRule rule = NoAm);