Use HH date library when not using MSVC

This commit is contained in:
Dan Paulat 2023-04-17 18:13:42 -05:00
parent e78dc9b3db
commit 593010acc2
10 changed files with 98 additions and 14 deletions

View file

@ -5,6 +5,10 @@
#include <fmt/chrono.h>
#include <fmt/format.h>
#if !defined(_MSC_VER)
# include <date/date.h>
#endif
namespace scwx
{
namespace provider
@ -73,6 +77,10 @@ AwsLevel2DataProvider::GetTimePointFromKey(const std::string& key)
{
using namespace std::chrono;
#if !defined(_MSC_VER)
using namespace date;
#endif
static const std::string timeFormat {"%Y%m%d_%H%M%S"};
std::string timeStr {key.substr(offset, formatSize)};

View file

@ -9,6 +9,10 @@
#include <fmt/chrono.h>
#include <fmt/format.h>
#if !defined(_MSC_VER)
# include <date/date.h>
#endif
namespace scwx
{
namespace provider
@ -99,6 +103,10 @@ AwsLevel3DataProvider::GetTimePointFromKey(const std::string& key)
{
using namespace std::chrono;
#if !defined(_MSC_VER)
using namespace date;
#endif
static const std::string timeFormat {"%Y_%m_%d_%H_%M_%S"};
std::string timeStr {key.substr(offset, formatSize)};

View file

@ -14,6 +14,10 @@
#include <cpr/cpr.h>
#include <libxml/HTMLparser.h>
#if !defined(_MSC_VER)
# include <date/date.h>
#endif
#if defined(_MSC_VER)
# pragma warning(pop)
#endif
@ -69,6 +73,10 @@ WarningsProvider::ListFiles(std::chrono::system_clock::time_point newerThan)
{
using namespace std::chrono;
#if !defined(_MSC_VER)
using namespace date;
#endif
static const std::regex reWarningsFilename {
"warnings_[0-9]{8}_[0-9]{2}.txt"};
static const std::string dateTimeFormat {"warnings_%Y%m%d_%H.txt"};
@ -104,8 +112,8 @@ WarningsProvider::ListFiles(std::chrono::system_clock::time_point newerThan)
for (auto& record : warningRecords)
{
// Determine start time
sys_time<hours> startTime;
std::istringstream ssFilename {record.filename_};
std::chrono::sys_time<hours> startTime;
std::istringstream ssFilename {record.filename_};
ssFilename >> parse(dateTimeFormat, startTime);