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

この記事では、Windowsプログラミングにおいて現在時刻を取得する方法と、取得した時刻を特定の形式で表示する方法について解説します。

GetSystemTime関数GetLocalTime関数を使用して現在時刻を取得する方法や、strftime関数や自作関数を使用して時刻をフォーマットする方法を学ぶことができます。

初心者の方でもわかりやすく解説しているので、ぜひ参考にしてみてください。

目次から探す

Windows APIを使用した現在時刻の取得方法

Windowsプログラミングにおいて、現在の時刻を取得するためにはWindows APIを使用することができます。

Windows APIには、GetSystemTime関数GetLocalTime関数が用意されており、それぞれ異なる方法で現在時刻を取得することができます。

GetSystemTime関数を使用する方法

GetSystemTime関数は、システムの現在時刻を協定世界時 (UTC) で取得するための関数です。

以下に、GetSystemTime関数を使用して現在時刻を取得するサンプルコードを示します。


#include <windows.h>
#include <stdio.h>
int main() {
    SYSTEMTIME st;
    GetSystemTime(&st);
    printf("現在時刻: %02d:%02d:%02d\n", st.wHour, st.wMinute, st.wSecond);
    return 0;
}

上記のコードでは、GetSystemTime関数を呼び出してSYSTEMTIME構造体に現在時刻を取得し、その後、時・分・秒の情報を取り出して表示しています。

現在時刻: 15:30:45

この方法で取得できるのは世界標準時(UTC)であるため、パソコンに設定しているタイムゾーンの時刻を取得したい場合は、このあと紹介しているGetLocalTime関数を使用します。

GetLocalTime関数を使用する方法

GetLocalTime関数は、システムの現在時刻をローカルタイムで取得するための関数です。

以下に、GetLocalTime関数を使用して現在時刻を取得するサンプルコードを示します。


#include <windows.h>
#include <stdio.h>
int main() {
    SYSTEMTIME st;
    GetLocalTime(&st);
    printf("現在時刻: %02d:%02d:%02d\n", st.wHour, st.wMinute, st.wSecond);
    return 0;
}

上記のコードでは、GetLocalTime関数を呼び出してSYSTEMTIME構造体に現在時刻を取得し、その後、時・分・秒の情報を取り出して表示しています。

現在時刻: 15:30:45

以上が、Windows APIを使用して現在時刻を取得する方法の説明です。

GetSystemTime関数を使用すると協定世界時 (UTC) の時刻が取得でき、GetLocalTime関数を使用するとローカルタイムの時刻が取得できます。

必要に応じて、これらの関数を使って現在時刻を取得し、プログラムに活用してください。

目次から探す