From 9f42294910f2798fbeeffa3113ad55a91199f2b4 Mon Sep 17 00:00:00 2001 From: "Juergen E. Fischer" Date: Thu, 4 Apr 2013 19:38:51 +0200 Subject: [PATCH] missed a file in 052dab819 --- src/providers/ogr/qgsogrfeatureiterator.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/providers/ogr/qgsogrfeatureiterator.cpp b/src/providers/ogr/qgsogrfeatureiterator.cpp index 96554079355b..bcacf56f54d2 100644 --- a/src/providers/ogr/qgsogrfeatureiterator.cpp +++ b/src/providers/ogr/qgsogrfeatureiterator.cpp @@ -187,7 +187,18 @@ void QgsOgrFeatureIterator::getFeatureAttribute( OGRFeatureH ogrFet, QgsFeature case QVariant::String: value = QVariant( P->mEncoding->toUnicode( OGR_F_GetFieldAsString( ogrFet, attindex ) ) ); break; case QVariant::Int: value = QVariant( OGR_F_GetFieldAsInteger( ogrFet, attindex ) ); break; case QVariant::Double: value = QVariant( OGR_F_GetFieldAsDouble( ogrFet, attindex ) ); break; - //case QVariant::DateTime: value = QVariant(QDateTime::fromString(str)); break; + case QVariant::Date: + case QVariant::DateTime: + { + int year, month, day, hour, minute, second, tzf; + + OGR_F_GetFieldAsDateTime( ogrFet, attindex, &year, &month, &day, &hour, &minute, &second, &tzf ); + if ( P->mAttributeFields[attindex].type() == QVariant::Date ) + value = QDate( year, month, day ); + else + value = QDateTime( QDate( year, month, day ), QTime( hour, minute, second ) ); + } + break; default: assert( NULL && "unsupported field type" ); } }