Index: /trunk/src/org/openstreetmap/josm/io/OverpassDownloadReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OverpassDownloadReader.java	(revision 17987)
+++ /trunk/src/org/openstreetmap/josm/io/OverpassDownloadReader.java	(revision 17988)
@@ -46,4 +46,5 @@
 import org.openstreetmap.josm.tools.UncheckedParseException;
 import org.openstreetmap.josm.tools.Utils;
+import org.openstreetmap.josm.tools.date.DateUtils;
 
 /**
@@ -243,5 +244,14 @@
     }
 
-    static String date(String humanDuration, LocalDateTime from) {
+    static String date(String dateOrHumanDuration, LocalDateTime from) {
+        try {
+            return DateUtils.parseInstant(dateOrHumanDuration).toString();
+        } catch (UncheckedParseException e) {
+            Logging.trace(e);
+        }
+        return duration(dateOrHumanDuration, from);
+    }
+
+    static String duration(String humanDuration, LocalDateTime from) {
         // Convert to ISO 8601. Replace months by X temporarily to avoid conflict with minutes
         String duration = humanDuration.toLowerCase(Locale.ENGLISH).replace(" ", "")
Index: /trunk/src/org/openstreetmap/josm/tools/SearchCompilerQueryWizard.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/SearchCompilerQueryWizard.java	(revision 17987)
+++ /trunk/src/org/openstreetmap/josm/tools/SearchCompilerQueryWizard.java	(revision 17988)
@@ -104,5 +104,5 @@
             final String value = ((SearchCompiler.KeyValue) match).getValue();
             if ("newer".equals(key)) {
-                return "(newer:" + quote(value) + ")";
+                return "(newer:" + quote("{{date:" + value + "}}") + ")";
             }
             return "[~" + quote(key) + "~" + quote(value) + "]";
Index: /trunk/test/unit/org/openstreetmap/josm/io/OverpassDownloadReaderTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/io/OverpassDownloadReaderTest.java	(revision 17987)
+++ /trunk/test/unit/org/openstreetmap/josm/io/OverpassDownloadReaderTest.java	(revision 17988)
@@ -120,6 +120,10 @@
     @Test
     public void testDateNewer() {
-        final String query = getExpandedQuery("type:node and newer:3minutes");
+        String query = getExpandedQuery("type:node and newer:3minutes");
         String statement = query.substring(query.indexOf("node(newer:\"") + 12, query.lastIndexOf("\");"));
+        assertNotNull(DateUtils.fromString(statement));
+
+        query = getExpandedQuery("type:node and newer:\"2021-05-30T20:00:00Z\"");
+        statement = query.substring(query.indexOf("node(newer:\"") + 12, query.lastIndexOf("\");"));
         assertNotNull(DateUtils.fromString(statement));
     }
Index: /trunk/test/unit/org/openstreetmap/josm/tools/SearchCompilerQueryWizardTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/tools/SearchCompilerQueryWizardTest.java	(revision 17987)
+++ /trunk/test/unit/org/openstreetmap/josm/tools/SearchCompilerQueryWizardTest.java	(revision 17988)
@@ -221,5 +221,8 @@
     @Test
     void testNewer() {
-        assertQueryEquals("  nwr(newer:\"2021-05-30T20:00:00Z\");\n",
+        assertQueryEquals("  nwr(newer:\"{{date:3minutes}}\");\n",
+                "newer:3minutes");
+
+        assertQueryEquals("  nwr(newer:\"{{date:2021-05-30T20:00:00Z}}\");\n",
                 "newer:\"2021-05-30T20:00:00Z\"");
     }
