time関数、localtimeを使用して、UNIX時間(time_t)の値からYYYYMMDD HH:MI:SSの書式に変換し表示するC言語サンプルコードを以下に記します。
また、取得したtime_tの値に1時間分の3600秒を加算し一時間後の時間も表示するC言語サンプルコードとなっています。
time_t2localtime.c (改行コードLF)
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t now;
time_t plus1hour;
struct tm *ptm;
char buf[128];
now = time(NULL);
ptm = localtime(&now);
strftime(buf, sizeof(buf), "%Y/%m/%d %H:%M:%S", ptm);
printf("Now : %s\n", buf);
plus1hour = now + 3600;
ptm = localtime(&plus1hour);
strftime(buf, sizeof(buf), "%Y/%m/%d %H:%M:%S", ptm);
printf("Now + 1H : %s\n", buf);
return 0;
}
サンプルコードをコンパイルし実行した結果を以下に記します。
$ gcc time_t2localtime.c -o time_t2localtime $ ./time_t2localtime Now : 2014/07/26 23:40:05 Now + 1H : 2014/07/27 00:40:05
以上、time関数とlocaltimeを使用しYYYMMDD HI:MI:SSを表示するC言語サンプルコードでした。