我需要在 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
库保持一致。
我是一名优秀的程序员,十分优秀!