ホームページ >バックエンド開発 >C++ >C 11 はどのようにして過去の日付文字列を解析し、経過時間を計算できるのでしょうか?

C 11 はどのようにして過去の日付文字列を解析し、経過時間を計算できるのでしょうか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-03 16:26:16794ブラウズ

How Can C  11 Parse Historical Date Strings and Calculate Elapsed Time?

C 11 を使用した履歴日付文字列の解析

「Thu Jan 9 12:35:34 2014」という形式の日付文字列について考えてみましょう。目標は、この文字列を C の日付表現に変換し、その日付からの経過時間を判断することです。これを実現するには、C 11 標準ライブラリの機能を活用できます。

std::chrono 名前空間を使用して、std::tm 構造体からタイム ポイントを取得できます。 std::tm 構造体は日付と時刻の情報を保存し、std::chrono 名前空間は時間操作機能を提供します。

日付文字列を解析するには、 std::get_time 関数を使用できます。 C11以降。古い GCC バージョン (5 より前) の場合は、代わりに strptime 関数を使用できます。どちらの関数も、解析された日付情報を std::tm 構造体に設定します。

std::tm 構造体を取得したら、std::chrono::system_lock::from_time_t 関数を利用して時刻を変換できます。 std::chrono::time_point への構造体によって表されます。この time_point は、システム クロック上の時点を表します。

この time_point を使用して、解析された日付から現在時刻までの経過時間を計算できます。 std::chrono ライブラリは、時間操作のためのさまざまなメソッドを提供しており、継続時間から秒、分、時間、日などの必要な情報を抽出できます。

要約すると、std::chrono 名前空間を活用し、 std::tm 構造体を使用すると、過去の日付文字列を効果的に解析し、それらの日付から経過時間を正確に判断できます。

以上がC 11 はどのようにして過去の日付文字列を解析し、経過時間を計算できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。