gpt4 book ai didi

c++ - 我可以避免通过 time_t 打印 time_point 吗?

转载 作者:行者123 更新时间:2023-11-30 03:22:06 26 4
gpt4 key购买 nike

这是一个例子 adapted from cppreference.com :

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

int main() {
std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
std::time_t now_c = std::chrono::system_clock::to_time_t(now);
std::cout << "The time was just "
<< std::put_time(std::localtime(&now_c), "%F %T") << '\n';
}

我不喜欢这样。我想打印我的时间点而不必通过 time_t。我可以这样做吗……:

  1. 完全没有?
  2. 支持像 put_time 这样的任意格式?

注意事项:

  • 标准库解决方案是最好的;非标准但强大的解决方案也很重要。
  • 不是this的骗子- 因为我也对任意格式打印感兴趣;但应该注意的是,@HowardHinnant 对那个问题的回答解决了这个问题的第一部分。

最佳答案

Howard Hinnant's library - 已被投票成为 C++20 的一部分 - 还支持类似 put_time 的格式设置。

#include "date/date.h"
#include <iostream>

int
main()
{
std::cout << date::format("%m/%d/%Y %I:%M:%S %p\n", std::chrono::system_clock::now());
}

示例输出:

07/22/2018 03:30:35.001865 AM

关于c++ - 我可以避免通过 time_t 打印 time_point 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51460135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com