![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0 |
SFXDate クラスは、内部で 1980 年 1 月 6 日 00:00:00 からの経過時間を 秒単位で管理しています。 日付や時刻に対する加減算には、 SFXDateDuration クラスも使います。
| コンストラクタ/デストラクタ |
|---|
|
SFXDate( Void ) SFXDate( SFXDateConstRef param ) SFXDate( UInt16 year , UInt16 month , UInt16 day , UInt16 hour , UInt16 minute , UInt16 second ) SFXDate( UInt16 year , UInt16 month , UInt16 day ) SFXDate( UInt32 second ) SFXDate( JulianTypeConstRef julian ) SFXDate クラスのコンストラクタです。
|
| パブリック関数 | |
|---|---|
| Void |
Add(
SFXDateDurationConstRef param
) 指定した日時の差を加算します。
|
| Void |
AddDay(
UInt16 param
) 指定した日数を加算します。
|
| Void |
AddHour(
UInt16 param
) 指定した時間数を加算します。
|
| Void |
AddMinute(
UInt16 param
) 指定した分数を加算します。
|
| Void |
AddMonth(
UInt16 param
) 指定した月数を加算します。
|
| Void |
AddSecond(
UInt16 param
) 指定した秒数を加算します。
|
| Void |
AddYear(
UInt16 param
) 指定した年数を加算します。
|
| JulianType |
AsJulianType( Void ) ユリウス日に変換します。
|
| UInt32 |
AsUInt32( Void ) 1980 年 1 月 6 日 00:00:00 からの経過時間を秒単位に変換します。
|
| SInt32 |
Compare(
SFXDateConstRef param
) 日時を比較します。
|
| static SFXDate |
CurrentDate( Void ) 現在の日付と時刻を取得します。
|
| static SFXDate |
CurrentUTCDate( Void ) UTC における現在の日付と時刻を取得します。
|
| SFXDateDuration |
DurationTo(
SFXDateConstRef param
) 指定した日時までの日時の差を取得します。
|
| Bool |
Equals(
SFXDateConstRef param
) この日時が指定した日時と等しいかどうかを判定します。
|
| SFXAnsiString |
Format(
SFXAnsiStringConstRef format
) 日付を書式に沿って文字列に変換します。
|
| UInt16 |
GetDay( Void ) 日を取得します。
|
| DayOfWeekEnum |
GetDayOfWeek( Void ) 曜日を取得します。
|
| UInt16 |
GetHour( Void ) 時間を取得します。
|
| UInt16 |
GetMinute( Void ) 分を取得します。
|
| UInt16 |
GetMonth( Void ) 月を取得します。
|
| UInt16 |
GetSecond( Void ) 秒を取得します。
|
| UInt16 |
GetYear( Void ) 年を取得します。
|
| SFCError |
Parse(
SFXAnsiStringConstRef format
, SFXAnsiStringConstRef string
) 文字列を書式に沿って日付に変換します。
|
| Void |
Set(
SFXDateConstRef param
) Set( JulianTypeConstRef julian ) Set( UInt32 second ) Set( UInt16 year , UInt16 month , UInt16 day ) Set( UInt16 year , UInt16 month , UInt16 day , UInt16 hour , UInt16 minute , UInt16 second ) 日時を設定します。
|
| Void |
SetDate(
UInt16 year
, UInt16 month
, UInt16 day
) 日付(年、月、日)を設定します。
|
| Void |
SetDay(
UInt16 param
) 日を設定します。
|
| Void |
SetHour(
UInt16 param
) 時間を設定します。
|
| Void |
SetMinute(
UInt16 param
) 分を設定します。
|
| Void |
SetMonth(
UInt16 param
) 月を設定します。
|
| Void |
SetSecond(
UInt16 param
) 秒を設定します。
|
| Void |
SetTime(
UInt16 hour
, UInt16 minute
, UInt16 second
) 時刻(時、分、秒)を設定します。
|
| Void |
SetYear(
UInt16 param
) 年を設定します。
|
| Void |
Sub(
SFXDateDurationConstRef param
) 指定した日時の差を減算します。
|
| Void |
SubDay(
UInt16 param
) 指定した日数を減算します。
|
| Void |
SubHour(
UInt16 param
) 指定した時間数を減算します。
|
| Void |
SubMinute(
UInt16 param
) 指定した分数を減算します。
|
| Void |
SubMonth(
UInt16 param
) 指定した月数を減算します。
|
| Void |
SubSecond(
UInt16 param
) 指定した秒数を減算します。
|
| Void |
SubYear(
UInt16 param
) 指定した年数を減算します。
|
| static SFXDateConstRef |
ZeroInstance( Void ) 0 を表すインスタンスを取得します。
|
| SFXDateRef |
operator+=(
SFXDateDurationConstRef param
) 日時の差を加算します。
|
| SFXDateRef |
operator-=(
SFXDateDurationConstRef param
) 指定した日時の差を減算します。
|
| SFXDateRef |
operator=(
SFXDateConstRef param
) 日時を代入します。
|
| Bool |
operator==(
SFXDateConstRef left
, SFXDateConstRef right
) == の関係を判定します。
|
| Bool |
operator>=(
SFXDateConstRef left
, SFXDateConstRef right
) >= の関係を判定します。
|
| Bool |
operator>(
SFXDateConstRef left
, SFXDateConstRef right
) > の関係を判定します。
|
| Bool |
operator<=(
SFXDateConstRef left
, SFXDateConstRef right
) <= の関係を判定します。
|
| Bool |
operator<(
SFXDateConstRef left
, SFXDateConstRef right
) < の関係を判定します。
|
| SFXDate |
operator-(
SFXDateConstRef left
, SFXDateDurationConstRef right
) 指定した日時または日時の差を減算します。
|
| SFXDateDuration |
operator-(
SFXDateConstRef left
, SFXDateConstRef right
) 指定した日時または日時の差を減算します。
|
| Bool |
operator!=(
SFXDateConstRef left
, SFXDateConstRef right
) != の関係を判定します。
|
| SFXDate |
operator+(
SFXDateConstRef left
, SFXDateDurationConstRef right
) 日時の差を加算します。
|
| 型 |
|---|
|
DayOfWeekEnum 曜日を表す定数です。
|
| グローバル関数 | |
|---|---|
| Bool |
operator==(
SFXDateConstRef left
, SFXDateConstRef right
) == の関係を判定します。
|
| Bool |
operator>=(
SFXDateConstRef left
, SFXDateConstRef right
) >= の関係を判定します。
|
| Bool |
operator>(
SFXDateConstRef left
, SFXDateConstRef right
) > の関係を判定します。
|
| Bool |
operator<=(
SFXDateConstRef left
, SFXDateConstRef right
) <= の関係を判定します。
|
| Bool |
operator<(
SFXDateConstRef left
, SFXDateConstRef right
) < の関係を判定します。
|
| SFXDate |
operator-(
SFXDateConstRef left
, SFXDateDurationConstRef right
) 指定した日時または日時の差を減算します。
|
| SFXDateDuration |
operator-(
SFXDateConstRef left
, SFXDateConstRef right
) 指定した日時または日時の差を減算します。
|
| Bool |
operator!=(
SFXDateConstRef left
, SFXDateConstRef right
) != の関係を判定します。
|
| SFXDate |
operator+(
SFXDateConstRef left
, SFXDateDurationConstRef right
) 日時の差を加算します。
|
[ public, explicit ] SFXDate(Void);
[ public ]
SFXDate(
SFXDateConstRef param // 元になる日時
);
[ public, explicit ]
SFXDate(
UInt16 year // 年
UInt16 month // 月
UInt16 day // 日
UInt16 hour // 時
UInt16 minute // 分
UInt16 second // 秒
);
[ public, explicit ]
SFXDate(
UInt16 year // 年
UInt16 month // 月
UInt16 day // 日
);
[ public, explicit ]
SFXDate(
UInt32 second // 1980 年 1 月 6 日 00:00:00 から経過した秒数
);
[ public, explicit ]
SFXDate(
JulianTypeConstRef julian // ユリウス日
);
[ public ] Void Add( SFXDateDurationConstRef param // 日時の差 );
SFXDateDuration | SFXDate::AddDay | SFXDate::AddHour | SFXDate::AddMinute | SFXDate::AddMonth | SFXDate::AddSecond | SFXDate::AddYear | SFXDate::Sub
SFXDate::Add | SFXDate::AddHour | SFXDate::AddMinute | SFXDate::AddMonth | SFXDate::AddSecond | SFXDate::AddYear | SFXDate::SubDay
SFXDate::Add | SFXDate::AddDay | SFXDate::AddMinute | SFXDate::AddMonth | SFXDate::AddSecond | SFXDate::AddYear | SFXDate::SubHour
SFXDate::Add | SFXDate::AddDay | SFXDate::AddHour | SFXDate::AddMonth | SFXDate::AddSecond | SFXDate::AddYear | SFXDate::SubMinute
SFXDate::Add | SFXDate::AddDay | SFXDate::AddHour | SFXDate::AddMinute | SFXDate::AddSecond | SFXDate::AddYear | SFXDate::SubMonth
SFXDate::Add | SFXDate::AddDay | SFXDate::AddHour | SFXDate::AddMinute | SFXDate::AddMonth | SFXDate::AddYear | SFXDate::SubSecond
SFXDate::Add | SFXDate::AddDay | SFXDate::AddHour | SFXDate::AddMinute | SFXDate::AddMonth | SFXDate::AddSecond | SFXDate::SubYear
[ public, const ] JulianType AsJulianType(Void);
[ public, const ] UInt32 AsUInt32(Void);
[ public, const ] SInt32 Compare( SFXDateConstRef param // 比較対象の日時 );
[ public, static ] SFXDate CurrentDate(Void);
date = SFXDate::CurrentDate();
[ public, static ] SFXDate CurrentUTCDate(Void);
[ public, const ] SFXDateDuration DurationTo( SFXDateConstRef param // 対象となる日時 );
[ public, const ] Bool Equals( SFXDateConstRef param // 比較対象の日時 );
[ public, const ] SFXAnsiString Format( SFXAnsiStringConstRef format // 書式 );
書式を指定します。指定できる書式には、以下のものがあります。
Y - N 桁年数 YY - 2 桁の年数 YYYY - 4 桁の年数 M - N 桁の月数 MM - 2 桁の月数 D - N 桁の日数 DD - 2 桁の日数 h - N 桁の時間 0 ~ 23 hh - 2 桁の時間 00 ~ 23 H - N 桁の時間 1 ~ 12 HH - 2 桁の時間 01 ~ 12 m - N 桁の分 mm - 2 桁の分 s - N 桁の秒 ss - 2 桁の秒 A - AM / PM a - am / pm MONTH - 月の名前(フルネーム・全大文字) Month - 月の名前(フルネーム・先頭大文字) month - 月の名前(フルネーム・全小文字) MTH - 月の名前( 3 文字・全大文字) Mth - 月の名前( 3 文字・先頭大文字) mth - 月の名前( 3 文字・全小文字) WEEK - 曜日(フルネーム・全大文字) Week - 曜日(フルネーム・先頭大文字) week - 曜日(フルネーム・全小文字) WEK - 曜日( 3 文字・全大文字) Wek - 曜日( 3 文字・先頭大文字) wek - 曜日( 3 文字・全小文字) y - 曜日(日本語) %x - 文字 'x'
この他、アルファベット・数字以外の任意の文字が利用できます。
アルファベットを利用するには、'%' でエスケープします。
空白文字が並んでいる場合は、書式指定文字列での空白文字数以上の並びがあれば、空白文字を読み飛ばします。
文字数が少ない場合は、エラーとなります。
SFXDate date(2010, 3, 9, 14, 12, 50);
date.Format("YYYY/MM/DD hh:mm:ss"); // "2010/03/09 14:12:50"
date.Format(""DD Mth, YY"); // "09 Mar, 10"
[ public, const ] UInt16 GetDay(Void);
SFXDate::GetDayOfWeek | SFXDate::GetHour | SFXDate::GetMinute | SFXDate::GetMonth | SFXDate::GetSecond | SFXDate::GetYear | SFXDate::SetDay
[ public, const ] DayOfWeekEnum GetDayOfWeek(Void);
SFXDate::DayOfWeekEnum 型を返します。
[ public, const ] UInt16 GetHour(Void);
SFXDate::GetDay | SFXDate::GetDayOfWeek | SFXDate::GetMinute | SFXDate::GetMonth | SFXDate::GetSecond | SFXDate::GetYear | SFXDate::SetHour
[ public, const ] UInt16 GetMinute(Void);
SFXDate::GetDay | SFXDate::GetDayOfWeek | SFXDate::GetHour | SFXDate::GetMonth | SFXDate::GetSecond | SFXDate::GetYear | SFXDate::SetMinute
[ public, const ] UInt16 GetMonth(Void);
SFXDate::GetDay | SFXDate::GetDayOfWeek | SFXDate::GetHour | SFXDate::GetMinute | SFXDate::GetSecond | SFXDate::GetYear | SFXDate::SetMonth
[ public, const ] UInt16 GetSecond(Void);
SFXDate::GetDay | SFXDate::GetDayOfWeek | SFXDate::GetHour | SFXDate::GetMinute | SFXDate::GetMonth | SFXDate::GetYear | SFXDate::SetSecond
[ public, const ] UInt16 GetYear(Void);
SFXDate::GetDay | SFXDate::GetDayOfWeek | SFXDate::GetHour | SFXDate::GetMinute | SFXDate::GetMonth | SFXDate::GetSecond | SFXDate::SetYear
[ public ] SFCError Parse( SFXAnsiStringConstRef format // 書式 SFXAnsiStringConstRef string // 変換対象文字列 );
書式を指定します。指定できる書式には、以下のものがあります。
Y - N 桁年数 YY - 2 桁の年数 YYYY - 4 桁の年数 M - N 桁の月数 MM - 2 桁の月数 D - N 桁の日数 DD - 2 桁の日数 h - N 桁の時間 0 ~ 23 hh - 2 桁の時間 00 ~ 23 H - N 桁の時間 1 ~ 12 HH - 2 桁の時間 01 ~ 12 m - N 桁の分 mm - 2 桁の分 s - N 桁の秒 ss - 2 桁の秒 A - AM / PM a - am / pm MONTH - 月の名前(フルネーム・全大文字) Month - 月の名前(フルネーム・先頭大文字) month - 月の名前(フルネーム・全小文字) MTH - 月の名前( 3 文字・全大文字) Mth - 月の名前( 3 文字・先頭大文字) mth - 月の名前( 3 文字・全小文字) WEEK - 曜日(フルネーム・全大文字) Week - 曜日(フルネーム・先頭大文字) week - 曜日(フルネーム・全小文字) WEK - 曜日( 3 文字・全大文字) Wek - 曜日( 3 文字・先頭大文字) wek - 曜日( 3 文字・全小文字) y - 曜日(日本語) %x - 文字 'x'
この他、アルファベット・数字以外の任意の文字が利用できます。
アルファベットを利用するには、'%' でエスケープします。
空白文字が並んでいる場合は、書式指定文字列での空白文字数以上の並びがあれば、空白文字を読み飛ばします。
文字数が少ない場合は、エラーとなります。
日付に変換する文字列を取得します。
SFXDate date; // 文字列 "2006/06/15 15:13:30" を書式 "YYYY/MM/DD hh:mm:ss" に沿って日付に変換 date.Parse("YYYY/MM/DD hh:mm:ss", "2006/06/15 15:13:30"); // %M で文字 'M' を表す // 複数の空白は 1 つとみなされる date.Parse("%M%y = YYYY/MM/DD hh:mm:ss", "My = 2006/06/15 15:13:30");
[ public ] Void Set( SFXDateConstRef param // 設定する日時 ( SFXDate ) );
[ public ] Void Set( UInt16 year // 年 UInt16 month // 月 UInt16 day // 日 UInt16 hour // 時 UInt16 minute // 分 UInt16 second // 秒 );
[ public ] Void Set( UInt16 year // 年 UInt16 month // 月 UInt16 day // 日 );
[ public ] Void Set( UInt32 second // 1980 年 1 月 6 日 00:00:00 から経過した秒数 );
[ public ] Void Set( JulianTypeConstRef julian // ユリウス日 );
年、月、日の 3 つの引数をとるものについては、時、分、秒はすべて 0 に設定されます。
SFXDate::SetDate | SFXDate::SetDay | SFXDate::SetHour | SFXDate::SetMinute | SFXDate::SetMonth | SFXDate::SetSecond | SFXDate::SetTime | SFXDate::SetYear | SFXDate::operator=
SFXDate::Set | SFXDate::SetDay | SFXDate::SetHour | SFXDate::SetMinute | SFXDate::SetMonth | SFXDate::SetSecond | SFXDate::SetTime | SFXDate::SetYear
SFXDate::GetDay | SFXDate::Set | SFXDate::SetDate | SFXDate::SetHour | SFXDate::SetMinute | SFXDate::SetMonth | SFXDate::SetSecond | SFXDate::SetTime | SFXDate::SetYear
SFXDate::GetHour | SFXDate::Set | SFXDate::SetDate | SFXDate::SetDay | SFXDate::SetMinute | SFXDate::SetMonth | SFXDate::SetSecond | SFXDate::SetTime | SFXDate::SetYear
SFXDate::GetMinute | SFXDate::Set | SFXDate::SetDate | SFXDate::SetDay | SFXDate::SetHour | SFXDate::SetMonth | SFXDate::SetSecond | SFXDate::SetTime | SFXDate::SetYear
SFXDate::GetMonth | SFXDate::Set | SFXDate::SetDate | SFXDate::SetDay | SFXDate::SetHour | SFXDate::SetMinute | SFXDate::SetSecond | SFXDate::SetTime | SFXDate::SetYear
SFXDate::GetSecond | SFXDate::Set | SFXDate::SetDate | SFXDate::SetDay | SFXDate::SetHour | SFXDate::SetMinute | SFXDate::SetMonth | SFXDate::SetTime | SFXDate::SetYear
SFXDate::Set | SFXDate::SetDate | SFXDate::SetDay | SFXDate::SetHour | SFXDate::SetMinute | SFXDate::SetMonth | SFXDate::SetSecond | SFXDate::SetYear
SFXDate::GetYear | SFXDate::Set | SFXDate::SetDate | SFXDate::SetDay | SFXDate::SetHour | SFXDate::SetMinute | SFXDate::SetMonth | SFXDate::SetSecond | SFXDate::SetTime
[ public ] Void Sub( SFXDateDurationConstRef param // 日時の差 );
SFXDateDuration | SFXDate::Add | SFXDate::SubDay | SFXDate::SubHour | SFXDate::SubMinute | SFXDate::SubMonth | SFXDate::SubSecond | SFXDate::SubYear |
SFXDate::AddDay | SFXDate::Sub | SFXDate::SubHour | SFXDate::SubMinute | SFXDate::SubMonth | SFXDate::SubSecond | SFXDate::SubYear
SFXDate::AddHour | SFXDate::Sub | SFXDate::SubDay | SFXDate::SubMinute | SFXDate::SubMonth | SFXDate::SubSecond | SFXDate::SubYear
SFXDate::AddMinute | SFXDate::Sub | SFXDate::SubDay | SFXDate::SubHour | SFXDate::SubMonth | SFXDate::SubSecond | SFXDate::SubYear
SFXDate::AddMonth | SFXDate::Sub | SFXDate::SubDay | SFXDate::SubHour | SFXDate::SubMinute | SFXDate::SubSecond | SFXDate::SubYear
SFXDate::AddSecond | SFXDate::Sub | SFXDate::SubDay | SFXDate::SubHour | SFXDate::SubMinute | SFXDate::SubMonth | SFXDate::SubYear
SFXDate::AddYear | SFXDate::Sub | SFXDate::SubDay | SFXDate::SubHour | SFXDate::SubMinute | SFXDate::SubMonth | SFXDate::SubSecond
[ public, static ] SFXDateConstRef ZeroInstance(Void);
コンストラクタの SFXDate(0) と同じ結果を返しますが、SFXDate::ZeroInstance 関数の方が高速に動作します。
[ public ] SFXDateRef operator=( SFXDateConstRef param // 代入する日時 );
SFXDate::Set | operator== | operator> | operator>= | operator< | operator<= | operator!=
[ public, friend ] Bool operator==( SFXDateConstRef left // 比較する日時 SFXDateConstRef right // 比較する日時 );
SFXDate::operator= | operator> | operator>= | operator< | operator<= | operator!=
[ public, friend ] Bool operator>=( SFXDateConstRef left // 日時 SFXDateConstRef right // 日時 );
SFXDate::operator= | operator== | operator> | operator< | operator<= | operator!= |
[ public, friend ] Bool operator>( SFXDateConstRef left // 日時 SFXDateConstRef right // 日時 );
SFXDate::operator= | operator== | operator>= | operator< | operator<= | operator!=
[ public, friend ] Bool operator<=( SFXDateConstRef left // 比較する日時 SFXDateConstRef right // 比較する日時 );
SFXDate::operator= | operator== | operator> | operator>= | operator< | operator!=
[ public, friend ] Bool operator<( SFXDateConstRef left // 比較する日時 SFXDateConstRef right // 比較する日時 );
SFXDate::operator= | operator== | operator> | operator>= | operator<= | operator!=
[ public ] SFXDateRef operator-=( SFXDateDurationConstRef param // 減算する日時の差 );
[ public, friend ] SFXDate operator-( SFXDateConstRef left // 減算対象の日時 SFXDateDurationConstRef right // 減算する日時の差 ( SFXDateDuration ) );
[ public, friend ] SFXDateDuration operator-( SFXDateConstRef left // 減算対象の日時 SFXDateConstRef right // 減算する日時 ( SFXDate ) );
第 2 引数が SFXDate 型のものは、1980 年 1 月 6 日 00:00:00 から経過した秒数として減算します。
[ public, friend ] Bool operator!=( SFXDateConstRef left // 比較する日時 SFXDateConstRef right // 比較する日時 );
SFXDate::operator= | operator== | operator> | operator>= | operator< | operator<=
[ public ] SFXDateRef operator+=( SFXDateDurationConstRef param // 加算する日時の差 );
[ public, friend ] SFXDate operator+( SFXDateConstRef left // 対象の日時 SFXDateDurationConstRef right // 加算する日時の差 );
enum DayOfWeekEnum {
DAYOFWEEK_MONDAY = 0,
DAYOFWEEK_TUESDAY,
DAYOFWEEK_WEDNESDAY,
DAYOFWEEK_THURSDAY,
DAYOFWEEK_FRIDAY,
DAYOFWEEK_SATURDAY,
DAYOFWEEK_SUNDAY
};
主に SFXDate::GetDayOfWeek 関数で使います。
定数の意味は次の通りです。
| 定数 (値) | 意味 |
|---|---|
| DAYOFWEEK_MONDAY (0) | 月曜日 |
| DAYOFWEEK_TUESDAY (1) | 火曜日 |
| DAYOFWEEK_WEDNESDAY (2) | 水曜日 |
| DAYOFWEEK_THURSDAY (3) | 木曜日 |
| DAYOFWEEK_FRIDAY (4) | 金曜日 |
| DAYOFWEEK_SATURDAY (5) | 土曜日 |
| DAYOFWEEK_SUNDAY (6) | 日曜日 |
|
Copyright (C) 2002 - 2008 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]()
|