在C++20中,秒后的system_clock::now()值代表什么



我正在研究C++20中从system_clock::now()返回的时间戳,当我打印出返回的std::chrono::time_point时,它会以YYYY-MM-DD HH:MM:SS.xxxxxxx的格式打印日期和时间。

知道xxxxxxx的值是多少吗?我最初假设微秒,但我意识到微秒是小数点后六位,而这个值总是七位。

我将在VS 2022中运行此功能。

#include <iostream>
#include <chrono>
int main()
{
using namespace std::chrono;
auto timeDate = zoned_time{ current_zone(), system_clock::now() };
std::cout << timeDate << std::endl;  // Output: 2022-07-29 08:55:22.8582577 BST
}

它是一秒的小数部分。

您得到的输出来自operator<<(zoned_time)。它以"{:L%F %T %Z}"格式输出时间(请参阅cpprreference.com(。格式的%T部分等效于"%H:%M:%S"(reference(,%S将秒指定为十进制浮点数,其精度与输入的精度(即system_clock::now()(。

相关内容

  • 没有找到相关文章

最新更新