From 03755790d5e0fb2085ecd33681039b4d81fd85d9 Mon Sep 17 00:00:00 2001 From: wenmo <32723967+aiwenmo@users.noreply.github.com> Date: Thu, 6 Feb 2025 22:45:25 +0800 Subject: [PATCH] [Optimization-3861] Display the timestamp type field as a string value when previewing data --- .../main/java/org/dinky/data/result/ResultRunnable.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dinky-core/src/main/java/org/dinky/data/result/ResultRunnable.java b/dinky-core/src/main/java/org/dinky/data/result/ResultRunnable.java index 84704624dc..937cd3294d 100644 --- a/dinky-core/src/main/java/org/dinky/data/result/ResultRunnable.java +++ b/dinky-core/src/main/java/org/dinky/data/result/ResultRunnable.java @@ -28,7 +28,9 @@ import org.apache.flink.types.RowKind; import java.time.Instant; +import java.time.LocalDateTime; import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.LinkedHashSet; @@ -57,6 +59,7 @@ public class ResultRunnable implements Runnable { private final boolean isAutoCancel; private final String timeZone; private BiConsumer callback; + private static final DateTimeFormatter FORMATTER_CACHE = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); public ResultRunnable( TableResult tableResult, @@ -164,9 +167,11 @@ private Map getFieldMap(List columns, Row row) { ((Instant) field) .atZone(ZoneId.of(timeZone)) .toLocalDateTime() - .toString()); + .format(FORMATTER_CACHE)); } else if (field instanceof Boolean) { map.put(column, field.toString()); + } else if (field instanceof LocalDateTime) { + map.put(column, ((LocalDateTime) field).format(FORMATTER_CACHE)); } else { map.put(column, field); }