[英]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.