簡體   English   中英

如何在C ++ 11中打印當前時間?

[英]How print current time in C++11?

在C ++ 11中是否有一種簡單的方法可以使用與正在使用的ostream相關聯的語言環境的相應格式規則來打印當前的掛起時間?

我真正想做的是這樣的事情:

myStream << std::chrono::system_clock::now();

並根據與myStream關聯的任何語言環境打印日期和時間。 C ++ 11提供put_time ,但它需要格式化字符串,我希望格式由與流關聯的語言環境確定。 還有time_puttime_put_byname ,但根據cppreference.com上的示例,這些函數與put_time一起使用。

沒有簡單的方法來打印時間點值而不手動格式化它?

您可以將put_time與格式字符串一起使用,例如"%c" %c是區域設置的標准日期和時間字符串的格式說明符。 結果看起來像我的機器上的“Tue Jul 23 19:32:18 CEST 2013”​​(POSIX en_US locale,在德國時區)。

auto now = std::chrono::system_clock::now();
auto now_c = std::chrono::system_clock::to_time_t(now);
std::cout << std::put_time(std::localtime(&now_c), "%c") << '\n';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM