From 9995d6285dd5bade3c129e25d64f319608b3fcd1 Mon Sep 17 00:00:00 2001 From: iroqueta Date: Tue, 3 Feb 2026 18:40:37 -0300 Subject: [PATCH 1/3] Consider dates with date 00/00/0000 in the ctot method In PR 505 a change was made to return null in the ctot method when parsing dates with time threw ParseException. This caused problems when parsing dates with the format "00/00/0000" and valid time Issue 207698 --- common/src/main/java/com/genexus/LocalUtil.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/genexus/LocalUtil.java b/common/src/main/java/com/genexus/LocalUtil.java index 1f5dd0634..f3403ee2e 100644 --- a/common/src/main/java/com/genexus/LocalUtil.java +++ b/common/src/main/java/com/genexus/LocalUtil.java @@ -796,6 +796,10 @@ private static boolean isNullTimeValue(String value, boolean isAMPM) } } + private static boolean isNullDateValue(String value) { + return value.equals("00/00/00") || value.equals("00/00/0000"); + } + public static void main(String arg[]) { System.out.println(isNullDateTime(" / / 12 AM", 2, 1)); @@ -1091,7 +1095,7 @@ public Date ctotex(String date, int format) { //When parsing a date gives a ParseException we try with setLenient(true) to parse dates only with dates with //daylighttime changes at 00:00 AM (Issue: 93038) - if (!isNullTimeValue(date.substring(date.indexOf(' ') + 1), false)) + if (!isNullTimeValue(date.substring(date.indexOf(' ') + 1), false) && !isNullDateValue(date.substring(0, date.indexOf(' ')))) return null; df.setLenient(true); try From f9036ed78073673c1d997d634fe3ee5da823a114 Mon Sep 17 00:00:00 2001 From: iroqueta Date: Wed, 4 Feb 2026 12:05:02 -0300 Subject: [PATCH 2/3] I consider the format 0000/00/00 --- common/src/main/java/com/genexus/LocalUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/java/com/genexus/LocalUtil.java b/common/src/main/java/com/genexus/LocalUtil.java index f3403ee2e..82d5e834e 100644 --- a/common/src/main/java/com/genexus/LocalUtil.java +++ b/common/src/main/java/com/genexus/LocalUtil.java @@ -797,7 +797,7 @@ private static boolean isNullTimeValue(String value, boolean isAMPM) } private static boolean isNullDateValue(String value) { - return value.equals("00/00/00") || value.equals("00/00/0000"); + return value.equals("00/00/00") || value.equals("00/00/0000") || value.equals("0000/00/00"); } public static void main(String arg[]) From ed6f06e420f54b124ad86ed9f45b0d4ff7c98bea Mon Sep 17 00:00:00 2001 From: iroqueta Date: Mon, 9 Feb 2026 16:17:09 -0300 Subject: [PATCH 3/3] I consider format without empty space --- common/src/main/java/com/genexus/LocalUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/java/com/genexus/LocalUtil.java b/common/src/main/java/com/genexus/LocalUtil.java index 82d5e834e..64c9293d3 100644 --- a/common/src/main/java/com/genexus/LocalUtil.java +++ b/common/src/main/java/com/genexus/LocalUtil.java @@ -1095,7 +1095,7 @@ public Date ctotex(String date, int format) { //When parsing a date gives a ParseException we try with setLenient(true) to parse dates only with dates with //daylighttime changes at 00:00 AM (Issue: 93038) - if (!isNullTimeValue(date.substring(date.indexOf(' ') + 1), false) && !isNullDateValue(date.substring(0, date.indexOf(' ')))) + if (date.indexOf(' ') == -1 || !isNullTimeValue(date.substring(date.indexOf(' ') + 1), false) && !isNullDateValue(date.substring(0, date.indexOf(' ')))) return null; df.setLenient(true); try