From b0f423187bfa408ffacf007931f282f12e2bdac6 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Mon, 27 Jan 2025 18:59:12 +0100 Subject: [PATCH] WMS/WMTS provider: support 'yyyy' TIME format Fixes #60264 --- src/providers/wms/qgswmscapabilities.cpp | 7 ++++++- tests/src/providers/testqgswmscapabilities.cpp | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/providers/wms/qgswmscapabilities.cpp b/src/providers/wms/qgswmscapabilities.cpp index 859b858e0938..ef76efcb7597 100644 --- a/src/providers/wms/qgswmscapabilities.cpp +++ b/src/providers/wms/qgswmscapabilities.cpp @@ -411,7 +411,12 @@ QDateTime QgsWmsSettings::parseWmstDateTimes( const QString &item ) // Check if it does not have time part if ( !item.contains( 'T' ) ) - return QDateTime::fromString( item, QStringLiteral( "yyyy-MM-dd" ) ); + { + if ( item.size() == 4 ) + return QDateTime::fromString( item, QStringLiteral( "yyyy" ) ); + else + return QDateTime::fromString( item, QStringLiteral( "yyyy-MM-dd" ) ); + } else if ( item.contains( '.' ) ) return QDateTime::fromString( item, Qt::ISODateWithMs ); else diff --git a/tests/src/providers/testqgswmscapabilities.cpp b/tests/src/providers/testqgswmscapabilities.cpp index e5f458e5f31b..653c1ff28678 100644 --- a/tests/src/providers/testqgswmscapabilities.cpp +++ b/tests/src/providers/testqgswmscapabilities.cpp @@ -100,7 +100,7 @@ class TestQgsWmsCapabilities : public QObject { QgsWmsSettings settings = QgsWmsSettings(); - QMap map = { { "2020-02-13T12:00:00Z", "yyyy-MM-ddThh:mm:ssZ" }, { "2020-02-13", "yyyy-MM-dd" } }; + QMap map = { { "2020-02-13T12:00:00Z", "yyyy-MM-ddThh:mm:ssZ" }, { "2020-02-13", "yyyy-MM-dd" }, { "2020", "yyyy" } }; QMapIterator iterator( map ); while ( iterator.hasNext() )