📜  在 C++ 中获取当前日期(1)

📅  最后修改于: 2023-12-03 15:23:07.498000             🧑  作者: Mango

在 C++ 中获取当前日期

在 C++ 中,我们可以使用标准库中的 chronoctime 头文件来获取当前日期。具体实现方式如下:

#include <chrono>
#include <ctime>
#include <iostream>

int main() {
  // 获取当前时间
  auto current_time = std::chrono::system_clock::now();

  // 转换为时间类型
  std::time_t current_time_t = std::chrono::system_clock::to_time_t(current_time);

  // 转换为本地时间
  std::tm* local_time = std::localtime(&current_time_t);

  // 输出日期
  std::cout << "当前日期:" << local_time->tm_year + 1900
            << "年" << local_time->tm_mon + 1 << "月"
            << local_time->tm_mday << "日" << std::endl;

  return 0;
}

以上代码输出的结果为:

当前日期:2021年7月1日

对以上代码进行分析:

  • 使用 std::chrono::system_clock::now() 获取当前时间,类型为 std::chrono::time_point
  • 使用 std::chrono::system_clock::to_time_t 将时间转换为 std::time_t 类型。
  • 使用 std::localtime 将时间转换为本地时间,类型为 std::tm*
  • 输出年、月、日等信息。

以上代码只是最基本的获取当前日期的方法,还有其他更加高级和灵活的方式,例如使用第三方库 Boost 来处理时间。但在使用过程中需要注意潜在的时区问题。