C言語で現在時刻を取得する方法

システムの現在時刻を取得するには、C言語では「time.h」ヘッダファイルの関数を使用します。

  1. time.hヘッダーを含める
#include <time.h>
  1. time_t 型変数と tm 構造体変数を宣言する
time_t now;
struct tm *local_time;
  1. time関数を使用して現在時間を取得します
time(&now);
  1. time_t型の時刻をlocaltime関数でtm構造体の時刻に変換する
local_time = localtime(&now);
  1. タイムスタンプ構造体のメンバにアクセスすることで、年、月、日、時、分、秒といった時間情報を具体的に取得する
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;
}

このプログラムを実行すると、現在のシステム時間が取得されて表示されます。

bannerAds