Skip to content

Commit 18cb0e2

Browse files
committed
Fix error in ObjectConverter that would always skip LocalDateTime even if there were no timezone
1 parent f98dd62 commit 18cb0e2

1 file changed

Lines changed: 3 additions & 4 deletions

File tree

memex/src/main/java/com/johnlpage/memex/util/ObjectConverter.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,15 @@ public static Object convertObject(Object input) {
3030
return ((Number) input).doubleValue();
3131
}
3232
if (input instanceof String str) {
33-
if (!str.isEmpty() && str.length() >= 8 && Character.isDigit(str.charAt(0))) {
33+
if (str.length() >= 8 && Character.isDigit(str.charAt(0))) {
3434
for (DateTimeFormatter formatter : DATE_FORMATTERS) {
3535
try {
3636
// Try parsing as different date/time types
3737
if (str.contains("T")) {
38-
if (str.contains("Z") || str.contains("+") || str.contains("-")) {
38+
if (str.endsWith("Z") || str.matches(".*[+-]\\d{2}(:\\d{2})?$")) {
3939
return ZonedDateTime.parse(str, formatter).toInstant();
4040
} else {
41-
return LocalDateTime.parse(str, formatter)
42-
.toInstant(ZoneOffset.UTC);
41+
return LocalDateTime.parse(str, formatter).toInstant(ZoneOffset.UTC);
4342
}
4443
} else {
4544
return LocalDate.parse(str, formatter);

0 commit comments

Comments
 (0)