使用C ++将时间戳转换为格式化的日期时间

问题描述 投票:0回答:2

我只能使用C ++标准库(C ++ 14)将时间戳转换为给定的格式date-time。我是C ++的新手,我知道C ++通过Java之类的库对我们的支持并不多。在给定的日期和时间中欧时区(CET)中的[2011-03-10 11:23:56]”下,以下内容将产生标准格式的输出:“ 2011-03-10T11:23:56.123 + 0100”。

std::string format = "yyyy-MM-dd'T'HH:mm:ss'.'SSSZ"; //default format
auto duration = std::chrono::system_clock::now().time_since_epoch();
auto timestamp = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();

我只能使用C ++标准库(C ++ 14)将时间戳转换为给定的格式date-time。我是C ++的新手,我知道C ++通过Java之类的库对我们的支持并不多。在给定的日期和...

c++ timestamp c++14 chrono formatdatetime
2个回答
0
投票
#include <ctime>
#include <iostream>
#include <iomanip>
int main()
{
    auto t = std::time(nullptr);
    auto tm = *std::localtime(&t);
    std::cout << std::put_time(&tm, "%Y-%m-%dT%H:%M:%S.%z%Z") << "\n";
}
----
2019-10-29T05:05:14.-0700PDT

0
投票

这是一个棘手的问题,因为:

© www.soinside.com 2019 - 2024. All rights reserved.