C言語で日時処理を行う方法

C言語で日時処理を行う方法

日付と時刻の処理は、多くのソフトウェアやアプリケーションにおいて非常に重要な機能です。2 つの日付の間の日数を計算する場合でも、特定の日付が何曜日であるかを計算する場合でも、C 言語にはこれらのニーズを満たすライブラリ関数や関数が豊富に用意されています。この記事ではC言語で日時処理を行う方法を紹介します。

18C言語で日時処理をする方法

  1. 現在の日付と時刻を取得する

現在の日付と時刻を取得するには、time.h ヘッダー ファイルの time 関数を使用できます。この関数は、1970 年 1 月 1 日の午前 0 時から現在時刻までの秒数を返します。time_t データ型を使用して、この時間値を保存できます。

#含む

#含む

int main() {

時間_t t;

時間(&t);

printf(\現在の時刻: %s\ ctime(&t));

0を返します。

}

  1. 日付と時刻の書式設定

C 言語には、日付と時刻を指定された文字列にフォーマットする一連の関数も提供されています。strftime 関数を使用すると、時間をカスタム文字列形式にフォーマットできます。

#含む

#含む

int main() {

時間_t t;

構造体 tm* tm_info;

文字バッファ[80];

時間(&t);

tm_info = ローカル時間 (&t) ;

strftime(バッファ, 80, \Y-%m-%d %H:%M:%S\ tm_info);

printf(\フォーマットされた時間: %s\

\バッファ);

0を返します。

}

  1. 2 つの日付間の日数を計算する

2 つの日付の間の日数を計算するには、difftime 関数を使用できます。この関数は 2 つの時間値をパラメータとして受け取り、それらの間の差を秒単位で返します。この秒の差を 1 日の秒数 (24 時間 * 60 分 * 60 秒) で割ると、日数の差が得られます。

#含む

#含む

int main() {

time_t t1、t2;

構造体 tm* tm_info1;

構造体 tm* tm_info2;

2 秒。

日数。

tm_info1 = ローカル時間(&t1);

tm_info2 = ローカル時間(&t2);

秒 = difftime(mktime(tm_info2), mktime(tm_info1));

日数 = (int)(秒 / (24 * 60 * 60));

printf(\2 つの日付間の日数の差: %d\

\ 日々);

0を返します。

}

  1. 特定の日付が何曜日であるかを判断する

特定の日付が何曜日であるかを判断するには、tm 構造体の tm_wday メンバーを使用できます。このメンバーは曜日を表します。0 は日曜日、1 は月曜日などを表します。この値に基づいて、対応する曜日を出力できます。

#含む

#含む

int main() {

時間_t t;

構造体 tm* tm_info;

時間(&t);

tm_info = ローカル時間 (&t) ;

printf(\今日は曜日です: %d\

\ tm_info->tm_wday);

0を返します。

}

  1. その他の日時処理関数

C言語には上記で紹介した関数以外にも、閏年を計算するisleap関数や、月の日数を計算する関数、文字列を時刻に変換する関数など、多くの日時処理関数が用意されています。 、など。特定のニーズに基づいて、日付と時刻を処理する適切な関数を選択できます。

要約する

C言語には日付や時刻を処理するための関数や関数が豊富に用意されています。この記事では、現在の日付と時刻を取得し、日付と時刻の書式を設定し、2 つの日付の間の日数を計算し、日付が何曜日であるかを判断する方法について説明します。同時に、その他の一般的に使用される日付と時刻の処理関数についても説明します。これらのスキルと機能を習得すると、日付と時刻の処理がより便利になり、プログラムの機能と柔軟性が向上します。

参考文献:

  1. https://www.cplusplus.com/reference/ctime/

  2. https://www.tutorialspoint.com/c_standard_library/time_h.htm

以上、C言語による日時処理の紹介でした。この記事があなたのお役に立ち、C 言語プログラミングの開発に役立つことを願っています。

この記事のコードはhttps://www.ktiao.com/c/2023-08/253660.htmlから転送されています。

おすすめ

転載: blog.csdn.net/qq_42151074/article/details/132262513