文字列型現在時刻の取得方法
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
まで送信してください。