A column strategy used to interpret timestamps from raw data. More...
#include <importfilemodel.h>
Public Member Functions | |
TimestampStrategy (StrategySettings &settings) | |
const QVariant | process (const QVariant &input) const |
void | reconfigure () |
Strategy::StrategyType | name () const |
A column strategy used to interpret timestamps from raw data.
TimestampStrategy::TimestampStrategy | ( | StrategySettings & | settings | ) |
: Strategy(settings) {reconfigure();};
Strategy::StrategyType TimestampStrategy::name | ( | ) | const [virtual] |
Reimplemented from Strategy.
{return Strategy::StrategyTimestamp;}
Reimplemented from Strategy.
{ QString data(input.toString()); // QDateTime converts empty strings to "1900..." rather than to empty strings. // Therefore, if data is empty, an invalid QVariant is returned. if (data.isEmpty()) return QVariant(); if (!format.contains("X")) { return QVariant::fromValue<QString>(QDateTime::fromString(data, format).toString(Qt::ISODate)); } else { QString tmpFormat(format); tmpFormat.replace("X", data); QVariant result(parser(tmpFormat)); if (result == SimpleParser::invalid()) return QVariant(); return QVariant::fromValue<QString>(QDateTime::fromTime_t(0).addMSecs(result.toLongLong()).toString(Qt::ISODate)); } }
void TimestampStrategy::reconfigure | ( | ) | [virtual] |
Reimplemented from Strategy.
Referenced by TimestampStrategy().
{ format = setting(Strategy::FormatTimestamp).toString(); }