この記事では、Windows環境とUNIX環境での日付取得方法について解説します。
初心者の方でも分かりやすく、具体的な手順とサンプルコードを通じて、現在の日付を取得する方法を学ぶことができます。
Windows環境での日付取得方法
Windows環境での日付を取得する方法について説明します。
Windowsでは、<time.h>ヘッダーファイル
を使用して日付を取得することができます。
具体的な手順は以下の通りです。
time.hヘッダーファイル
をインクルードします。time_t型
の変数を宣言します。time()関数
を使用して現在の時刻を取得し、変数に代入します。localtime()関数
を使用してtime_t型
の時刻をstruct tm型
に変換します。struct tm型
の変数から年、月、日を取得します。
以下にサンプルコードを示します。
#include <stdio.h>
#include <time.h>
int main() {
time_t now;
struct tm *local;
// 現在の時刻を取得
time(&now);
// 時刻をstruct tm型に変換
local = localtime(&now);
// 年、月、日を取得
int year = local->tm_year + 1900;
int month = local->tm_mon + 1;
int day = local->tm_mday;
// 結果を出力
printf("現在の日付: %d/%d/%d\n", year, month, day);
return 0;
}
このコードを実行すると、現在の日付が表示されます。
現在の日付: 2022/1/1
以上がWindows環境での日付取得方法です。
次にUNIX環境での方法について説明します。
UNIX環境での日付取得方法
UNIX環境での日付取得方法について説明します。
UNIX環境では、time関数
やstrftime関数
を使用して現在の日付を取得することができます。
time関数を使用した日付取得方法
time関数
は、1970年1月1日からの経過秒数を返す関数です。
この経過秒数を利用して、現在の日付を取得することができます。
以下に、time関数
を使用して現在の日付を取得するサンプルコードを示します。
#include <stdio.h>
#include <time.h>
int main() {
time_t currentTime;
struct tm *localTime;
char dateString[100];
// 現在の時刻を取得
currentTime = time(NULL);
// 現地時間に変換
localTime = localtime(¤tTime);
// 日付を指定したフォーマットで取得
strftime(dateString, sizeof(dateString), "%Y/%m/%d", localTime);
// 日付を表示
printf("現在の日付: %s\n", dateString);
return 0;
}
上記のコードでは、time関数
で現在の時刻を取得し、localtime関数
で現地時間に変換しています。
そして、tm構造体のメンバを使用して年月日を表示しています。
このコードを実行すると、現在の日付が表示されます。
strftime関数を使用した日付取得方法
strftime関数
は、指定したフォーマットに従って日付を文字列として取得する関数です。
strftime関数
を使用することで、より柔軟な日付の表示が可能になります。
以下に、strftime関数
を使用して現在の日付を取得するサンプルコードを示します。
#include <stdio.h>
#include <time.h>
int main() {
time_t currentTime;
struct tm *localTime;
char dateString[100];
// 現在の時刻を取得
currentTime = time(NULL);
// 現地時間に変換
localTime = localtime(¤tTime);
// 日付を指定したフォーマットで取得
strftime(dateString, sizeof(dateString), "%Y/%m/%d", localTime);
// 日付を表示
printf("現在の日付: %s\n", dateString);
return 0;
}
上記のコードでは、strftime関数
を使用して日付を指定したフォーマットで取得しています。
%Y
は年、%m
は月、%d
は日を表すフォーマット指定子です。
このコードを実行すると、現在の日付が指定したフォーマットで表示されます。
以上がUNIX環境での日付取得方法の説明です。
time関数
やstrftime関数
を使用することで、簡単に現在の日付を取得することができます。