CTimeSpan
クラス
期間内の秒数として内部的に格納される時間。
構文
class CTimeSpan
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CTimeSpan::CTimeSpan |
さまざまな方法で CTimeSpan オブジェクトを作成します。 |
パブリック メソッド
名前 | 説明 |
---|---|
CTimeSpan::Format |
CTimeSpan を書式設定された文字列に変換します。 |
CTimeSpan::GetDays |
この CTimeSpan の完全な日の数を表す値を返します。 |
CTimeSpan::GetHours |
現在の日の時間数 (-23 から 23) を表す値を返します。 |
CTimeSpan::GetMinutes |
現在の時間の分数 (-59 から 59) を表す値を返します。 |
CTimeSpan::GetSeconds |
現在の分の秒数 (-59 から 59) を表す値を返します。 |
CTimeSpan::GetTimeSpan |
CTimeSpan オブジェクトの値を返します。 |
CTimeSpan::GetTotalHours |
この CTimeSpan の完全な時間の合計数を表す値を返します。 |
CTimeSpan::GetTotalMinutes |
この CTimeSpan の完全な分の合計数を表す値を返します。 |
CTimeSpan::GetTotalSeconds |
この CTimeSpan の完全な秒の合計数を表す値を返します。 |
CTimeSpan::Serialize64 |
アーカイブとの間でデータをシリアル化します。 |
演算子
名前 | 説明 |
---|---|
operator + - |
CTimeSpan オブジェクトを加算および減算します。 |
operator += -= |
この CTimeSpan との間で CTimeSpan オブジェクトを加算および減算します。 |
operator == < etc. |
2 つの相対時間値を比較します。 |
解説
CTimeSpan
には基底クラスはありません。
CTimeSpan
関数は、秒を日、時間、分、および秒のさまざまな組み合わせに変換します。
CTimeSpan
オブジェクトは、8 バイトの __time64_t
構造体に格納されます。
コンパニオン クラス CTime
は絶対時間を表します。
CTime
と CTimeSpan
のクラスは、派生するようには設計されていません。 仮想関数はないので、CTime
と CTimeSpan
の両方のオブジェクトのサイズは正確に 8 バイトです。 ほとんどのメンバー関数はインラインです。
CTimeSpan
の使用の詳細については、"ランタイム ライブラリ リファレンス" の記事「日時」および「時間管理」を参照してください。
要件
ヘッダー: atltime.h
CTimeSpan
比較演算子
比較演算子。
bool operator==(CTimeSpan span) const throw();
bool operator!=(CTimeSpan span) const throw();
bool operator<(CTimeSpan span) const throw();
bool operator>(CTimeSpan span) const throw();
bool operator<=(CTimeSpan span) const throw();
bool operator>=(CTimeSpan span) const throw();
パラメーター
span
比較するオブジェクト。
戻り値
これらの演算子は、2つの相対時間値を比較します。 条件の結果が true の場合は TRUE
、それ以外の場合は FALSE
を返します。
例
CTimeSpan ts1(100);
CTimeSpan ts2(110);
ATLASSERT((ts1 != ts2) && (ts1 < ts2) && (ts1 <= ts2));
CTimeSpan::CTimeSpan
さまざまな方法で CTimeSpan
オブジェクトを作成します。
CTimeSpan() throw();
CTimeSpan(__time64_t time) throw();
CTimeSpan(
LONG lDays,
int nHours,
int nMins,
int nSecs) throw();
パラメーター
timeSpanSrc
既に存在する CTimeSpan
オブジェクト。
time
現在の期間の秒数である __time64_t
時刻値。
それぞれ日、時間、分、および秒。
解説
これらのすべてのコンストラクターは、指定された相対時間で初期化された新しい CTimeSpan
オブジェクトを作成します。 次に、各コンストラクターについて説明します。
CTimeSpan( );
初期化されていないCTimeSpan
オブジェクトを作成します。CTimeSpan( const CTimeSpan& );
CTimeSpan
値からCTimeSpan
オブジェクトを作成します。CTimeSpan( __time64_t );
__time64_t
型からCTimeSpan
オブジェクトを作成します。CTimeSpan( LONG, int, int, int );
各コンポーネントを次の範囲に制限して、コンポーネントからCTimeSpan
オブジェクトを作成します。コンポーネント Range lDays 0-25,000 (およそ) nHours 0-23 nMins 0-59 nSecs 0-59
1 つ以上の時間-日コンポーネントが範囲外である場合、デバッグ バージョンの Microsoft Foundation Class ライブラリによってアサートされます。 引数は、呼び出す前に検証する必要があります。
例
CTimeSpan ts1; // Uninitialized time value
CTimeSpan ts2a(ts1); // Copy constructor
CTimeSpan ts2b = ts1; // Copy constructor again
CTimeSpan ts3(100); // 100 seconds
CTimeSpan ts4(0, 1, 5, 12); // 1 hour, 5 minutes, and 12 seconds
CTimeSpan::Format
この CTimeSpan
に対応する書式設定済みの文字列を生成します。
CString Format(LPCSTR pFormat) const;
CString Format(LPCTSTR pszFormat) const;
CString Format(UINT nID) const;
パラメーター
$
printf
の書式設定文字列に似た書式設定文字列。 前にパーセント (%
) 記号の付いた書式設定コードは、対応する CTimeSpan
コンポーネントに置き換えられます。 書式設定文字列内の他の文字は、返される文字列にそのままコピーされます。 Format
の書式設定コードの値と意味は次のとおりです。
%D
このCTimeSpan
の合計日数%H
現在の日の時%M
現在の時の分%S
現在の分の秒%%
パーセント記号
nID
この書式を識別する文字列の ID。
戻り値
書式設定済みの時刻を含む CString
オブジェクト。
解説
デバッグ バージョンのライブラリは、書式設定コードを確認し、コードが上のリストにない場合はアサートします。
例
CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
CString s = ts.Format(_T("Total days: %D, hours: %H, mins: %M, secs: %S"));
ATLASSERT(s == _T("Total days: 3, hours: 01, mins: 05, secs: 12"));
CTimeSpan::GetDays
この CTimeSpan
の完全な日の数を表す値を返します。
LONGLONG GetDays() const throw();
戻り値
期間内で完全な 24 時間の日の数を返します。 この値は、期間が負の場合、負の値になることがあります。
解説
夏時間 (DST) によって、GetDays
が予想外の結果を返す可能性があることに注意してください。 たとえば、DST が有効な場合、GetDays
では 4 月 1 日から 5 月 1 日までの日数が 30 ではなく 29 として報告されます。これは、4 月の 1 日が 1 時間短縮され、完全な日としてカウントされないためです。
例
CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetDays() == 3);
CTimeSpan::GetHours
現在の日の時間数 (-23 から 23) を表す値を返します。
LONG GetHours() const throw();
戻り値
現在の日付の時間数を返します。 -23 から 23 の範囲です。
例
CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetHours() == 1);
ATLASSERT(ts.GetMinutes() == 5);
ATLASSERT(ts.GetSeconds() == 12);
CTimeSpan::GetMinutes
現在の時間の分数 (-59 から 59) を表す値を返します。
LONG GetMinutes() const throw();
戻り値
現在の時間の分数を返します。 -59 から 59 の範囲です。
例
GetHours
の例を参照してください。
CTimeSpan::GetSeconds
現在の分の秒数 (-59 から 59) を表す値を返します。
LONG GetSeconds() const throw();
戻り値
現在の分の秒数を返します。 -59 から 59 の範囲です。
例
GetHours
の例を参照してください。
CTimeSpan::GetTimeSpan
CTimeSpan
オブジェクトの値を返します。
__ time64_t GetTimeSpan() const throw();
戻り値
CTimeSpan
オブジェクトの現在の値を返します。
CTimeSpan::GetTotalHours
この CTimeSpan
の完全な時間の合計数を表す値を返します。
LONGLONG GetTotalHours() const throw();
戻り値
この CTimeSpan
の完全な時間の合計数を返します。
例
CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetTotalHours() == 73);
ATLASSERT(ts.GetTotalMinutes() == 4385);
ATLASSERT(ts.GetTotalSeconds() == 263112);
CTimeSpan::GetTotalMinutes
この CTimeSpan
の完全な分の合計数を表す値を返します。
LONGLONG GetTotalMinutes() const throw();
戻り値
この CTimeSpan
の完全な分の合計数を返します。
例
GetTotalHours
の例を参照してください。
CTimeSpan::GetTotalSeconds
この CTimeSpan
の完全な秒の合計数を表す値を返します。
LONGLONG GetTotalSeconds() const throw();
戻り値
この CTimeSpan
の完全な秒の合計数を返します。
例
GetTotalHours
の例を参照してください。
$
CTimeSpan
オブジェクトを加算および減算します。
CTimeSpan operator+(CTimeSpan span) const throw();
CTimeSpan operator-(CTimeSpan span) const throw();
パラメーター
span
CTimeSpan
オブジェクトに追加する値。
戻り値
操作の結果を表す CTimeSpan
オブジェクト。
解説
これら 2 つの演算子を使用すると、CTimeSpan
オブジェクトとの間で減算や加算を行うことができます。
例
CTimeSpan ts1(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
CTimeSpan ts2(100); // 100 seconds
CTimeSpan ts3 = ts1 + ts2;
ATLASSERT(ts3.GetSeconds() == 52); // 6 mins, 52 secs
$
この CTimeSpan
との間で CTimeSpan
オブジェクトを加算および減算します。
CTimeSpan& operator+=(CTimeSpan span) throw();
CTimeSpan& operator-=(CTimeSpan span) throw();
パラメーター
span
CTimeSpan
オブジェクトに追加する値。
戻り値
更新後の CTimeSpan
オブジェクト。
解説
これらの演算子を使用すると、CTimeSpan
オブジェクトの加算や、この CTimeSpan
からの減算を行うことができます。
例
CTimeSpan ts1(10); // 10 seconds
CTimeSpan ts2(100); // 100 seconds
ts2 -= ts1;
ATLASSERT(ts2.GetTotalSeconds() == 90);
CTimeSpan::Serialize64
Note
このメソッドは、MFC プロジェクトでのみ使用できます。
アーカイブとの間で、メンバー変数に関連付けられたデータをシリアル化します。
CArchive& Serialize64(CArchive& ar);
パラメーター
ar
更新する CArchive
オブジェクト。
戻り値
更新後の CArchive
オブジェクト。