【问题标题】:How to deal with time in C++?如何在 C++ 中处理时间?
【发布时间】:2021-10-18 09:07:48
【问题描述】:

基本上我需要编写一个程序,要求用户以 24 小时格式输入到达和离开时间,并且需要计算它们之间的差异。 我知道怎么做其他所有事情,但我不知道怎么做才能让你输入时间。

【问题讨论】:

  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
  • 作为这里的新用户,也可以使用tour 并阅读How to Ask。做了一些在线研究,你找到了哪些 C++ 时间处理的资源?只是为了说清楚,只是问一个根本不表明任何研究的非常基本的问题只会让你被否决并且问题在这里结束。先努力自己解决问题,才真正欢迎你来这里提问!
  • 欢迎来到 Stack Overflow。请阅读the help pages,接受SO tour,阅读How to Ask,以及this question checklist。最后,请了解如何edit 您的问题以改进它,例如向我们展示您自己尝试的minimal reproducible example 以及您遇到的问题的描述。
  • @vll,C++ 肯定有解析时间的实用程序。
  • 关于时间的任何事情:使用en.cppreference.com/w/cpp/chrono。它将防止您创建许多具有时间界限(日界限、闰年等)的错误。 @vII C++20 支持:en.cppreference.com/w/cpp/chrono/parse

标签: c++ time


【解决方案1】:

您可以使用std::get_time 将输入解析为std::tm 结构。您可以使用std::chrono::system_clock::from_time_tstd::tm 对象转换为时间点。您可以减去时间点来计算差异。

在 C++20 中,您可以使用 std::chrono::parse 简化代码。

【讨论】:

    【解决方案2】:
    1. 使用像 regex time 这样的正则表达式验证您的输入。
    2. 使用Posix time 创建到达和离开对象。
    3. 使用diffTime 获取差异。 Example here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-16
      • 2012-04-05
      • 2010-11-27
      • 1970-01-01
      • 2020-04-22
      • 2021-03-09
      • 1970-01-01
      • 2020-12-14
      相关资源
      最近更新 更多