文字列型現在時刻の取得方法




CTIMEクラスを使ってのお手軽な文字列型現在時刻の取得方法です。
やり方はいたって簡単、CTimeクラスで現在時刻を取得するGetCurrentTime()を実行 した後、フォーマット変換関数Format()をコールするだけです。
フォーマットの指定は以下の項目が使えます。
年(下2桁)             %y
年(4桁)              %Y
月(10進)             %m
月(正式名)             %B
月(省略名)             %b
日(10進)             %d
時(24H)             %H
時(12H)             %I
分(10進)             %M
秒(10進)             %S
曜日(10進)            %w
  日曜日が0
曜日(正式名)            %A
曜日(省略名)            %a
ロケールに応じた日付と時間      %c
現在ロケールの日付表示        %x
現在ロケールの時刻表示        %X
現在のロケールのAM/PM      %S
時間帯の名前             %z,%Z
年頭からの日数(001〜366)   %j
週の通し番号(00〜53)      %U
  日曜日が週の最初の日
週の通し番号(00〜53)      %W
  月曜日が週の最初の日


BOOL  ALARMloglog( 
)
{
	int		Cnt_i;							// ループカウンタ
	struct	TB_STATUS_INFO		LogEdit;	// ログ編集バッファ
	CString	NowTime;						// 現在時刻
	CTime	CurTime;						// 現在時刻クラス


	// ログ編集バッファをクリアする
	memset( &LogEdit, NULL, sizeof(struct TB_STATUS_INFO) );

	// 現在時刻を取得する
	CurTime = CTime::GetCurrentTime();
	NowTime = CurTime.Format( "%Y%m%d%H%M%S" );

	// 発生日時の編集
	memcpy( LogEdit.date, NowTime, sizeof(LogEdit.date) );

通常は0パディングされるので、0パディングをやめたい時は%とアルファベット の間に#を入れればOKです。時間なら%Hを%#Hにするといった具合です。




N総研ソフトウェア開発部のTOPに戻る。

このページに関するご意見・質問は
ドンタコスN村 E-mail:wnaka@coco.ned.co.jp
まで送信してください。