#1941 Observed Data : Add RiaDateTimeTools

This commit is contained in:
Magne Sjaastad
2017-09-28 08:04:27 +02:00
parent 00ef13094a
commit 9364efa4b7
6 changed files with 108 additions and 41 deletions

View File

@@ -15,6 +15,7 @@ ${CEE_CURRENT_LIST_DIR}RiaLogging.h
${CEE_CURRENT_LIST_DIR}RiaProjectModifier.h
${CEE_CURRENT_LIST_DIR}RiaRegressionTest.h
${CEE_CURRENT_LIST_DIR}RiaImportEclipseCaseTools.h
${CEE_CURRENT_LIST_DIR}RiaDateTimeTools.h
)
set (SOURCE_GROUP_SOURCE_FILES
@@ -27,6 +28,7 @@ ${CEE_CURRENT_LIST_DIR}RiaLogging.cpp
${CEE_CURRENT_LIST_DIR}RiaProjectModifier.cpp
${CEE_CURRENT_LIST_DIR}RiaRegressionTest.cpp
${CEE_CURRENT_LIST_DIR}RiaImportEclipseCaseTools.cpp
${CEE_CURRENT_LIST_DIR}RiaDateTimeTools.cpp
)
list(APPEND CODE_HEADER_FILES

View File

@@ -0,0 +1,50 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2017 Statoil ASA
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#include "RiaDateTimeTools.h"
#include <ctime>
#include <QString>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
quint64 RiaDateTimeTools::secondsFromUnit(const std::string& unit)
{
QString str = QString::fromStdString(unit).trimmed().toUpper();
if (str == "DAYS")
{
return RiaDateTimeTools::secondsInDay();
}
else if (str == "YEARS")
{
return RiaDateTimeTools::secondsInYear();
}
return 1;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
time_t RiaDateTimeTools::createFromSecondsSinceEpoch(quint64 secondsSinceEpoch)
{
return time_t(secondsSinceEpoch);
}

View File

@@ -0,0 +1,42 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2017 Statoil ASA
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#pragma once
#include <qglobal.h>
#include <string>
//==================================================================================================
//
//==================================================================================================
class RiaDateTimeTools
{
public:
static quint64 secondsInMinute() { return 60; }
static quint64 secondsInHour() { return 60 * 60; }
static quint64 secondsInDay() { return 60 * 60 * 24; }
static quint64 secondsInYear() { return 60 * 60 * 24 * 365; }
static quint64 secondsFromUnit(const std::string& unit);
static time_t createFromSecondsSinceEpoch(quint64 secondsSinceEpoch);
private:
};