この記事では、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関数
を使用するとローカルタイムの時刻が取得できます。
必要に応じて、これらの関数を使って現在時刻を取得し、プログラムに活用してください。