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();
}
1.7.1