前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3

20.4. SFXDate(日付クラス)

SFXDate は、 年、月、日、時、分、秒を管理する日付クラスです。

SFXDateDuration は、 時間の差を秒で管理するクラスです。

例 20.14. 日付の定義

SFXDate date(2008, 10, 12, 23, 45, 58);   // 2008年10月12日 23時45分58秒

例 20.15. 日付(年、月、日、時、分、秒)の取得

SInt32 n1 = date.GetYear();   // n1 = 2008
SInt32 n2 = date.GetMonth();  // n2 = 10
SInt32 n3 = date.GetDay();    // n3 = 12
SInt32 n4 = date.GetHour();   // n4 = 23
SInt32 n5 = date.GetMinute(); // n5 = 45
SInt32 n6 = date.GetSecond(); // n6 = 58

例 20.16. 日付の演算

date.AddYear(1);   // date の年 = 2009
date.AddSecond(3); // date の秒 = 1、date の分 = 46
date.SubMonth(30); // date の月 = 4、date の年 = 2007

例 20.17. 現在時刻の取得

date = SFXDate::CurrentDate();

例 20.18. 日付の書式付き出力

SFXAnsiString str;
SFXDate date(2008, 10, 12, 23, 45, 58);

// 日付の書式付き出力
str = date.Format("YYYY/MM/DD hh:mm:ss Wek");
// str = "2008/10/12 23:45:58 Sun" 

主な書式を以下に記します。 詳細は、SFXDate::Format 関数の解説を参照してください。

表 20.2. 書式出力一覧表

フォーマット 解説
YY 2 桁の年数 99 07
YYYY 4 桁の年数 1999 2007
MM 2 桁の月数 01〜12
DD 2 桁の日数 01〜31
hh 2 桁の時間 00〜23
HH 2 桁の時間 01〜12
mm 2 桁の分 00〜59
ss 2 桁の秒 00〜59
MONTH 月の名前 ( フルネーム・全大文字 ) MARCH JUNE
MTH 月の名前 ( 3 文字・全大文字 ) MAR JUN
WEEK 曜日の名前 ( フルネーム・全大文字 ) MONDAY SUNDAY
WEK 曜日の名前 ( 3 文字・全大文字 ) MON SUN

例 20.19. 日付の計算(減算)

SFXDate date1(2008, 10, 12, 22, 45, 58);
SFXDate date2(2008, 10, 12, 22, 55, 48);

// 日付の減算
SFXDateDuration duration = date2 - date1;

SInt32 n1 = duration.AsSInt32(); // n1 = 590

duration.Set(date1 - date2);

SInt32 n2 = duration.AsSInt32(); // n2 = -590