如何将我的每个矢量字符串转换为纪元时间日期

How to convert each of my vector strings to a epoch time date

本文关键字:转换 字符串 纪元 日期 时间 我的      更新时间:2023-10-16

我正在使用 qvector 将我的 x 值存储在我的 qcustom 图表中,我直接解析了一种 json 格式,其中我的 x 值应该来自 json 格式的 {date} 值,所以我将 {date} 存储为字符串,但我如何将所有字符串的时间值转换为纪元格式,然后在我的 qCustom 图中表示为日期?下面是我的代码:

//Retrieves json format of data
Json::Value chartData = IEX::stocks::chartYtd(symbolSearchedStd);
//Stores x and y values
QVector<double> closePrice(365);
QVector<string>  time(365);
int  n = chartData.size();
//Finds max and min for range
float maxAvg = closePrice[0];
float minAvg = closePrice[0];
//Reads in data from json(historical data 1 day delayed)
for(Json::Value::ArrayIndex i = 0 ; i != chartData.size(); i++)
{
if(chartData[i].isMember("close"))
{
if((closePrice[i] == 0) && (i != chartData.size() - 1))
{
closePrice[i] = closePrice[i-1];
}
closePrice[i] = (chartData[i]["close"].asDouble());
time[i] = (chartData[i]["close"].asString());
}
if(closePrice[i] > maxAvg)
{
maxAvg = closePrice[i];
}
else if(closePrice[i] < minAvg)
{
minAvg = closePrice[i];
}
}

JSON日期通常存储在ISO8601(对于Javascript(。

由于您使用Qt作为数据类型,我认为最好的选择是使用QDateTime::fromString并将格式指定为Qt::ISODate

获得QDateTime后,您可以调用QDateTime::toSecsSinceEpoch

qint64 secsSinceEpoch = QDateTime::fromString(time[i].c_str(), Qt::ISODate).toSecsSinceEpoch();