ホームページ > バックエンド開発 > C++ > C で文字列 Time を time_t に変換するにはどうすればよいですか?

C で文字列 Time を time_t に変換するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-21 10:10:13
オリジナル
915 人が閲覧しました

How to Convert a String Time to time_t in C  ?

文字列時刻を C の time_t に変換する

C で時刻データを扱う場合、多くの場合、「hh:mm」に時刻を含む文字列を変換する必要があります。 :ss" を time_t 型にフォーマットします。これを実現する方法は次のとおりです:

#include <iostream>
#include <iomanip>
#include <sstream>
#include <ctime>

int main() {
  std::string time_details = "16:35:12";
  
  struct std::tm tm;
  std::istringstream ss(time_details);
  ss >> std::get_time(&tm, "%H:%M:%S"); // or use "%T" for this case
  std::time_t time_value = std::mktime(&tm);

  std::cout << "Converted time: " << std::put_time(std::gmtime(&time_value), "%H:%M:%S") << '\n';

  return 0;
}
ログイン後にコピー

このコードは以下を示します:

  • time_t への変換: 文字列 time を time_value という名前の time_t 変数に変換します。文字列のストリーム解析と std::mktime を使用するfunction.
  • 時間変数の比較: 2 つの time_t 変数 (curr_time と user_time など) を比較するには、次のメソッドを使用できます:

    if (curr_time < user_time) {
    std::cout << "curr_time is earlier than user_time.\n";
    } else if (curr_time == user_time) {
    std::cout << "curr_time and user_time are the same.\n";
    } else {
    std::cout << "user_time is earlier than curr_time.\n";
    }
    ログイン後にコピー

以上がC で文字列 Time を time_t に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート