mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1962 : Observed Data : Add helper class for QDateTime and use from parsers
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
|
||||
#include "RifColumnBasedUserData.h"
|
||||
|
||||
#include "RiaDateTimeTools.h"
|
||||
#include "RiaQDateTimeTools.h"
|
||||
#include "RiaLogging.h"
|
||||
|
||||
#include "RifColumnBasedUserDataParser.h"
|
||||
@@ -93,16 +93,15 @@ bool RifColumnBasedUserData::parse(const QString& data)
|
||||
{
|
||||
QString dateFormatString = "ddMMyyyy";
|
||||
|
||||
startDate = QDateTime::fromString(startDateString, dateFormatString);
|
||||
startDate = RiaQDateTimeTools::fromString(startDateString, dateFormatString);
|
||||
}
|
||||
else
|
||||
{
|
||||
startDate.setDate(QDate(1970, 1, 1));
|
||||
startDate = RiaQDateTimeTools::epoch();
|
||||
}
|
||||
|
||||
m_timeSteps.resize(m_timeSteps.size() + 1);
|
||||
|
||||
quint64 scaleFactor = RiaDateTimeTools::secondsFromUnit(ci.unitName);
|
||||
std::vector<time_t>& timeSteps = m_timeSteps.back();
|
||||
|
||||
QString unit = QString::fromStdString(ci.unitName).trimmed().toUpper();
|
||||
@@ -111,8 +110,7 @@ bool RifColumnBasedUserData::parse(const QString& data)
|
||||
{
|
||||
for (const auto& timeStepValue : ci.values)
|
||||
{
|
||||
QDateTime dateTime = startDate.addDays((int)timeStepValue);
|
||||
dateTime.setTimeSpec(Qt::UTC);
|
||||
QDateTime dateTime = RiaQDateTimeTools::addDays(startDate, timeStepValue);
|
||||
timeSteps.push_back(dateTime.toTime_t());
|
||||
}
|
||||
}
|
||||
@@ -120,8 +118,7 @@ bool RifColumnBasedUserData::parse(const QString& data)
|
||||
{
|
||||
for (const auto& timeStepValue : ci.values)
|
||||
{
|
||||
QDateTime dateTime = startDate.addYears((int)timeStepValue);
|
||||
dateTime.setTimeSpec(Qt::UTC);
|
||||
QDateTime dateTime = RiaQDateTimeTools::addYears(startDate, timeStepValue);
|
||||
timeSteps.push_back(dateTime.toTime_t());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ void RifColumnBasedUserDataParser::parseData(const QString& data)
|
||||
qLine = QString::fromStdString(line);
|
||||
QStringList entries = qLine.split(" ", QString::SkipEmptyParts);
|
||||
|
||||
if (entries.size() < columnCount) break;
|
||||
if (entries.size() < static_cast<int>(columnCount)) break;
|
||||
|
||||
for (size_t i = 0; i < columnCount; i++)
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
#include "RifKeywordVectorUserData.h"
|
||||
|
||||
#include "RiaDateTimeTools.h"
|
||||
#include "RiaQDateTimeTools.h"
|
||||
#include "RiaLogging.h"
|
||||
|
||||
#include "RifEclipseSummaryAddress.h"
|
||||
@@ -106,26 +106,28 @@ bool RifKeywordVectorUserData::parse(const QString& data)
|
||||
dateFormatString = "DD MM YYYY";
|
||||
}
|
||||
|
||||
startDate = QDateTime::fromString(startDateString, dateFormatString);
|
||||
}
|
||||
|
||||
QString unitText = valueForKey(keyValuePairs, "UNITS");
|
||||
quint64 scaleFactor = RiaDateTimeTools::secondsFromUnit(unitText.toStdString());
|
||||
|
||||
if (startDate.isValid())
|
||||
{
|
||||
for (const auto& timeStepValue : m_parser->keywordBasedVectors()[i].values)
|
||||
{
|
||||
QDateTime dateTime = startDate.addSecs(scaleFactor * timeStepValue);
|
||||
|
||||
ts.push_back(dateTime.toTime_t());
|
||||
}
|
||||
startDate = RiaQDateTimeTools::fromString(startDateString, dateFormatString);
|
||||
}
|
||||
else
|
||||
{
|
||||
startDate = RiaQDateTimeTools::epoch();
|
||||
}
|
||||
|
||||
QString unitText = valueForKey(keyValuePairs, "UNITS");
|
||||
if (unitText == "DAY" || unitText == "DAYS")
|
||||
{
|
||||
for (const auto& timeStepValue : m_parser->keywordBasedVectors()[i].values)
|
||||
{
|
||||
ts.push_back(scaleFactor * timeStepValue);
|
||||
QDateTime dateTime = RiaQDateTimeTools::addDays(startDate, timeStepValue);
|
||||
ts.push_back(dateTime.toTime_t());
|
||||
}
|
||||
}
|
||||
else if (unitText == "YEAR" || unitText == "YEARS")
|
||||
{
|
||||
for (const auto& timeStepValue : m_parser->keywordBasedVectors()[i].values)
|
||||
{
|
||||
QDateTime dateTime = RiaQDateTimeTools::fromYears(timeStepValue);
|
||||
ts.push_back(dateTime.toTime_t());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user