gpt4 book ai didi

c++ - 如何将 chrono::time_point 格式化为字符串

转载 作者:太空宇宙 更新时间:2023-11-04 12:36:08 27 4
gpt4 key购买 nike

我需要在 C++ 中获取当前日期和时间。我可以使用 chrono 来获取 系统时间 但我还需要将其作为字符串保存在 json 文件中。此外,我尝试过的计时时间格式如下:

auto time = std::chrono::system_clock::now();

输出:

Thu Oct 11 19:10:24 2012

但我需要以下格式的日期时间格式:

2016-12-07T00:52:07

我还需要这个字符串形式的日期时间,以便我可以将它保存在 Json 文件中。任何人都可以提出一个实现这一目标的好方法。谢谢。

最佳答案

最简单的方法是使用 Howard Hinnant's free, open-source, header-only date.h :

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

int
main()
{
using namespace date;
using namespace std::chrono;
auto time = system_clock::now();
std::string s = format("%FT%T", floor<seconds>(time));
std::cout << s << '\n';
}

这个库是新的 C++20 chrono 扩展的原型(prototype)。尽管在 C++20 中,格式化的细节可能会略有变化,以使其与预期的 C++20 fmt 库保持一致。

关于c++ - 如何将 chrono::time_point 格式化为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56315044/

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