CTime::CTime
更新 : 2007 年 11 月
指定された時刻で初期化された新しい CTime オブジェクトを作成します。
CTime( ) throw( );
CTime(
__time64_t time
) throw( );
CTime(
int nYear,
int nMonth,
int nDay,
int nHour,
int nMin,
int nSec,
int nDST = -1
);
CTime(
WORD wDosDate,
WORD wDosTime,
int nDST = -1
);
CTime(
const SYSTEMTIME& st,
int nDST = - 1
) throw( );
CTime(
const FILETIME& ft,
int nDST = - 1
);
CTime(
const DBTIMESTAMP& dbts,
int nDST = -1
) throw( );
パラメータ
timeSrc
既存の CTime オブジェクト。time
時刻を表す __time64_t 型の値。この値は、UTC を基準にした 1970 年 1 月 1 日から経過した秒数です。この値は、現地のタイム ゾーンに合わせて調整する必要があります。たとえば、パラメータ 0 を渡して CTime オブジェクトを作成すると、ニューヨークでは、CTime::GetMonth は 12 を返します。Visual C++ 6.0 およびそれ以前のバージョンでは、time は time_t の値でした。Visual C++ .NET 以降では、time_t 型のパラメータが __time64_t 型に変換されます。
nYear, nMonth, nDay, nHour, nMin, nSec
新しい CTime オブジェクトにコピーする日時の値。nDST
夏時間かどうかを示します。次のいずれかの値になります。nDST が 0 のとき 標準時間が有効です。
nDST が 0 より大きいとき 夏時間が有効です。
nDST が 0 未満のとき 既定値。自動的に標準時間か夏時間かが決定されます。
wDosDate, wDosTime
日付/時刻値に変換され、新しい CTime オブジェクトにコピーされる MS-DOS の日付値と時刻値。st
日付/時刻型の値に変換され、新しい CTime オブジェクトにコピーされる SYSTEMTIME 構造体。ft
日付/時刻型の値に変換され、新しい CTime オブジェクトにコピーされる FILETIME 構造体。dbts
現在の現地時刻を保持する DBTimeStamp 構造体への参照。
解説
各コンストラクタについて説明します。
CTime( ); CTime オブジェクトを初期化せずに構築します。このコンストラクタを使用して、CTime オブジェクトの配列を定義できます。定義する配列は、使用する前に有効な値で初期化する必要があります。
CTime( const CTime& ); ほかの CTime 値から CTime オブジェクトを構築します。
CTime( time64_t ); __time64_t 型の値から CTime オブジェクトを構築します。このコンストラクタは UTC 時間を想定し、構築した結果を現地時間に変換してから格納します。
CTime( int, int,...); 現地時間の各構成要素を指定して CTime オブジェクトを構築します。各構成要素は次のように制限されます。
構成要素
範囲
nYear
1970–3000
nMonth
1–12
nDay
1–31
nHour
0-23
nMin
0-59
nSec
0-59
このコンストラクタは、値を UTC を基準にした値に正しく変換します。Microsoft Foundation Class ライブラリのデバッグ環境では、時間の構成要素の 1 つでも範囲外の場合は、アサートします。引数を確認してから、呼び出す必要があります。このコンストラクタは、現地時間を想定しています。
CTime( WORD, WORD ); 指定された MS-DOS の日付と時刻の値から CTime オブジェクトを構築します。このコンストラクタは、現地時間を想定しています。
CTime( const SYSTEMTIME& ); SYSTEMTIME 構造体から CTime オブジェクトを構築します。このコンストラクタは、現地時間を想定しています。
CTime( const FILETIME& ); FILETIME 構造体から CTime オブジェクトを構築します。CTime を FILETIME 構造体で直接初期化することはほとんどありません。CFile オブジェクトを使ってファイルを扱う場合は、FILETIME 構造体で初期化された CTime オブジェクトを使って、CFile::GetStatus を呼び出してファイルのタイムスタンプを取得します。このコンストラクタは UTC に基づく時間を想定し、値を現地時間に自動的に変換してから、構築結果を格納します。
メモ : DBTIMESTAMP パラメータを使用するコンストラクタを利用できるのは、OLEDB.h がインクルードされているときだけです。
詳細については、Windows SDK の SYSTEMTIME 構造体と FILETIME 構造体を参照してください。また、Windows SDK の「MS-DOS Date and Time」も参照してください。
使用例
time_t osBinaryTime; // C run-time time (defined in <time.h>)
time(&osBinaryTime) ; // Get the current time from the
// operating system.
CTime time1; // Empty CTime. (0 is illegal time value.)
CTime time2 = time1; // Copy constructor.
CTime time3(osBinaryTime); // CTime from C run-time time
CTime time4(1999, 3, 19, 22, 15, 0); // 10:15PM March 19, 1999
必要条件
ヘッダー : atltime.h