【C言語】時間を足し算したあとの時刻を取得する

この記事では、C言語で時間の足し算を行い、その結果として得られる時刻を取得する方法について解説します。

具体的には、mktime関数localtime関数を使用して、時間の加算と時刻の取得を行う方法を紹介します。

初心者の方でもわかりやすく、実際のコード例を交えて説明していきます。

目次から探す

C言語での時間の足し算

時間の加算方法

C言語では、時間の足し算を行うために、time.hヘッダーファイルに含まれる関数を使用します。

具体的には、time_t型の変数を使用して時間を表現し、その変数に対して加算を行います。

以下に、時間の加算方法のサンプルコードを示します。

#include <stdio.h>
#include <time.h>
int main() {
    time_t now = time(NULL); // 現在の時刻を取得
    struct tm *tm_now = localtime(&now); // time_t型をstruct tm型に変換
    // 加算する時間を設定
    int hours = 2;
    int minutes = 30;
    int seconds = 0;
    // 時間の加算
    tm_now->tm_hour += hours;
    tm_now->tm_min += minutes;
    tm_now->tm_sec += seconds;
    // 時刻の正規化
    mktime(tm_now);
    // 加算後の時刻を表示
    printf("加算後の時刻: %02d:%02d:%02d\n", tm_now->tm_hour, tm_now->tm_min, tm_now->tm_sec);
    return 0;
}

上記のコードでは、現在の時刻を取得し、それに指定した時間を加算しています。

加算する時間は、hours、minutes、secondsの変数に設定します。

加算後の時刻を表示するために、struct tm型の変数をmktime関数で正規化しています。

正規化によって、時刻が24時間制や60分制に収まるように調整されます。

上記のコードを実行すると、現在の時刻に指定した時間が加算された後の時刻が表示されます。

例えば、現在の時刻が12:30:45で、加算する時間が2時間30分0秒の場合、加算後の時刻は15:00:45となります。

以上が、C言語で時間の足し算を行う方法です。

目次から探す