【C言語】文字列から日時に変換する方法

この記事では、C言語で文字列から日時に変換する方法について解説します。

C言語初心者の方にもわかりやすく解説していきますので、ぜひご覧ください。

目次から探す

文字列から日時への変換方法

C言語では、文字列を日時に変換するために、標準ライブラリのtime.hを使用します。

time.hには、日時を表すための構造体や関数が定義されています。

まず、文字列を日時に変換するためには、strptime関数を使用します。

strptime関数は、指定されたフォーマットに従って文字列を解析し、日時に変換します。

以下に、文字列から日時への変換の手順を示します。

  1. 変換する文字列と、そのフォーマットを指定します。
  2. strptime関数を使用して、文字列を解析し、tm構造体に変換します。
  3. tm構造体から、time_t型の日時に変換します。

以下に、具体的なコード例を示します。

#include <stdio.h>
#include <time.h>
int main() {
    char date_str[] = "2022-01-01 12:34:56";
    struct tm date;
    time_t timestamp;
    // 文字列を日時に変換
    strptime(date_str, "%Y-%m-%d %H:%M:%S", &date);
    // tm構造体からtime_t型の日時に変換
    timestamp = mktime(&date);
    printf("変換後の日時: %ld\n", timestamp);
    return 0;
}

上記のコードでは、date_strという文字列を%Y%m%d %H:%M:%Sというフォーマットに従って解析し、date構造体に変換しています。

そして、date構造体からmktime関数を使用してtime_t型の日時に変換しています。

実行結果は、変換後の日時が表示されます。

以上が、C言語で文字列から日時への変換方法の基本的な手順です。

strptime関数のフォーマット指定子を変更することで、さまざまな形式の文字列を解析することができます。

詳細なフォーマット指定子については、time.hのドキュメントを参照してください。

1 2

この記事のページ一覧
  1. 現在のページ
目次から探す