この記事では、Windows環境とUNIX環境での現在時刻の取得方法について解説します。
システム時刻の取得やローカル時刻の取得、さらにはUTC時刻の取得方法まで、具体的なコード例を交えて分かりやすく説明します。
C言語初心者の方でも、簡単に現在時刻を取得する方法を学ぶことができます。
Windows環境での現在時刻の取得方法
Windows環境で現在の時刻を取得する方法には、システム時刻の取得とローカル時刻の取得の2つの方法があります。
システム時刻の取得
システム時刻とは、コンピュータの内部時計が保持している時刻のことです。
C言語では、システム時刻を取得するためにtime関数
を使用します。
#include <stdio.h>
#include <time.h>
int main() {
time_t t;
time(&t);
printf("システム時刻: %s", ctime(&t));
return 0;
}
上記のコードでは、time関数
を使用してシステム時刻を取得し、ctime関数
を使用して時刻を文字列として表示しています。
実行すると、現在のシステム時刻が表示されます。
ローカル時刻の取得
ローカル時刻とは、現地の標準時刻を指すもので、タイムゾーンの影響を受けます。
C言語では、ローカル時刻を取得するためにlocaltime関数
を使用します。
#include <stdio.h>
#include <time.h>
int main() {
time_t t;
struct tm *local;
t = time(NULL);
local = localtime(&t);
printf("ローカル時刻: %02d:%02d:%02d\n", local->tm_hour, local->tm_min, local->tm_sec);
return 0;
}
上記のコードでは、time関数
を使用してシステム時刻を取得し、localtime関数
を使用してローカル時刻に変換しています。
変換後のローカル時刻の各要素(時、分、秒)を取得し、表示しています。
実行すると、現在のローカル時刻が表示されます。
以上が、Windows環境での現在時刻の取得方法です。
システム時刻とローカル時刻の取得方法を使い分けて、必要な時刻情報を取得してください。
UNIX環境での現在時刻の取得方法
UNIX環境では、C言語を使用して現在時刻を取得する方法がいくつかあります。
ここでは、システム時刻の取得とUTC時刻の取得について説明します。
システム時刻の取得
UNIX環境では、time()関数
を使用してシステム時刻を取得することができます。
この関数は、1970年1月1日午前0時からの経過秒数を返します。
以下に、time()関数
を使用してシステム時刻を取得するサンプルコードを示します。
#include <stdio.h>
#include <time.h>
int main() {
time_t currentTime;
time(¤tTime);
printf("システム時刻: %ld\n", currentTime);
return 0;
}
上記のコードでは、time_t型
の変数currentTime
を宣言し、time()関数
を呼び出してその値を取得しています。
そして、printf()関数
を使用してシステム時刻を表示しています。
実行結果は以下のようになります。
システム時刻: 1631234567
UTC時刻の取得
UNIX環境では、time()関数
を使用して取得したシステム時刻をもとに、UTC時刻を取得することもできます。
UTC時刻は、協定世界時(Coordinated Universal Time)とも呼ばれ、世界中で共通の基準となる時刻です。
以下に、time()関数
を使用してUTC時刻を取得するサンプルコードを示します。
#include <stdio.h>
#include <time.h>
int main() {
time_t currentTime;
struct tm *utcTime;
time(¤tTime);
utcTime = gmtime(¤tTime);
printf("UTC時刻: %d/%d/%d %02d:%02d:%02d\n",
utcTime->tm_year + 1900, utcTime->tm_mon + 1, utcTime->tm_mday,
utcTime->tm_hour, utcTime->tm_min, utcTime->tm_sec);
return 0;
}
上記のコードでは、time_t型
の変数currentTime
とstruct tm型
のポインタ変数utcTime
を宣言し、time()関数
を呼び出してシステム時刻を取得します。
そして、gmtime()関数
を使用してシステム時刻をUTC時刻に変換します。
最後に、printf()関数
を使用してUTC時刻を表示しています。
実行結果は以下のようになります。
UTC時刻: 2021/09/10 12:34:56
以上が、UNIX環境での現在時刻の取得方法についての説明です。
システム時刻の取得とUTC時刻の取得について、それぞれの方法を紹介しました。
これらの方法を活用して、C言語で現在時刻を取得することができます。