输出时间和日期格式为:2018-01-26 15:51.159753

时间:2018-01-26 14:51:19

标签: c++

我正在尝试以下列格式找到输出当前日期和时间(以毫秒为单位)的解决方案: 2018-01-26 15:51:02.159753

我现在(工作)的内容如下:

#include <iostream>
#include <ctime>

using namespace std;

int main() {
   // current date/time based on current system
   time_t now = time(0);

   // convert now to string form
   char* dt = ctime(&now);

   cout << "The local date and time is: " << dt << endl;

   // convert now to tm struct for UTC
   tm *gmtm = gmtime(&now);
   dt = asctime(gmtm);
   cout << "The UTC date and time is:"<< dt << endl;
}

我虽然没有找到任何方法重新制作这个以便以我想要的格式输出日期和时间。任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

因此,您需要使用localtime中的tmconst auto buz = chrono::system_clock::now().time_since_epoch(); const auto baz = chrono::floor<chrono::seconds>(buz); const auto bar = chrono::system_clock::to_time_t(chrono::system_clock::time_point(baz)); const auto foo = localtime(&bar); 可能应该像这样初始化:

cout << put_time(foo, "%F %T.") << (buz - baz).count() << endl;

然后,您可以将其与put_time

一起使用
{{1}}

Live Example