C言語で現在時刻を取得する方法
システムの現在時刻を取得するには、C言語では「time.h」ヘッダファイルの関数を使用します。
- time.hヘッダーを含める
#include <time.h>
- time_t 型変数と tm 構造体変数を宣言する
time_t now;
struct tm *local_time;
- time関数を使用して現在時間を取得します
time(&now);
- time_t型の時刻をlocaltime関数でtm構造体の時刻に変換する
local_time = localtime(&now);
- タイムスタンプ構造体のメンバにアクセスすることで、年、月、日、時、分、秒といった時間情報を具体的に取得する
int year = local_time->tm_year + 1900;
int month = local_time->tm_mon + 1;
int day = local_time->tm_mday;
int hour = local_time->tm_hour;
int minute = local_time->tm_min;
int second = local_time->tm_sec;
完全なコードを以下に示す。
#include <stdio.h>
#include <time.h>
int main() {
time_t now;
struct tm *local_time;
time(&now);
local_time = localtime(&now);
int year = local_time->tm_year + 1900;
int month = local_time->tm_mon + 1;
int day = local_time->tm_mday;
int hour = local_time->tm_hour;
int minute = local_time->tm_min;
int second = local_time->tm_sec;
printf("当前时间:%d年%d月%d日 %d:%d:%d\n", year, month, day, hour, minute, second);
return 0;
}
このプログラムを実行すると、現在のシステム時間が取得されて表示されます。