時刻を文字列に変換する

現在時刻を取得して文字列に変換するのは意外と面倒だと言うことに気がついたw


void TimeToStr( void ){
time_t timeNow;
struct tm *tmNow;
char str[255];

// 現在の時間を取得
time(&timeNow);

// ローカル時間へ変換してtm構造体に格納
tmNow = localtime( &timeNow);

// フォーマットを整える
strftime( str, sizeof(str), "%Y/%m/%d %H:%M:%S", tmNow);

printf("%s\n", str);

return;
}

実行結果は
2009/01/30 13:01:02
と出力される。
sprintf()よりもstrftime()の方が扱いやすかったのでw