strftime関数でフォーマット指定して日付の出力
K&R本 付録B10
printfのようなフォーマット指定子で日付の出力ができるみたいです。
さっそくやってみました。
#include <stdio.h> #include <time.h> int main (void) { time_t t = time(NULL); struct tm tm; char str[81]; localtime_s(&tm,&t); strftime(str,sizeof(str),"%Y-%m-%d %H:%I:%S",&tm); printf("%s",str); return 0; }
$ main 2009-07-26 09:09:22
これは凄く便利ですね。日付関係で何かするときは基本的にこの関数使いたいと思います。
ちなみにlocaltimeだと警告が出たのでlocaltime_sを使うようにしています。
戻り値にエラーコードが返るようですね。