[英]What does system_clock::now() value after seconds represent in C++ 20?
我正在探索从system_clock::now()
返回的 C++ 20 中的时间戳,当我打印出返回的std::chrono::time_point
时,它会以YYYY-MM-DD HH:MM:SS.xxxxxxx
格式打印日期和时间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
}
这是一秒的小数部分。
您得到的 output 来自operator<<(zoned_time)
。 这会以"{:L%F %T %Z}"
格式输出时间(参见cppreference.com )。 格式的%T
部分等价于"%H:%M:%S"
( 参考), %S
将秒数指定为十进制浮点数,其精度与输入的精度相匹配(即在您的情况下system_clock::now()
的精度)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.