この記事では、C言語で文字列から日時に変換する方法について解説します。
C言語初心者の方にもわかりやすく解説していきますので、ぜひご覧ください。
目次から探す
文字列から日時への変換方法
C言語では、文字列を日時に変換するために、標準ライブラリのtime.h
を使用します。
time.h
には、日時を表すための構造体や関数が定義されています。
まず、文字列を日時に変換するためには、strptime関数
を使用します。
strptime関数
は、指定されたフォーマットに従って文字列を解析し、日時に変換します。
以下に、文字列から日時への変換の手順を示します。
- 変換する文字列と、そのフォーマットを指定します。
strptime関数
を使用して、文字列を解析し、tm
構造体に変換します。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
のドキュメントを参照してください。
次のページ変換例と注意点