From 45c46e7bf4f5a82153ba59919a4a29513fce4bb8 Mon Sep 17 00:00:00 2001 From: pyBlockDev <201116866+pyBlockDev@users.noreply.github.com> Date: Thu, 27 Feb 2025 16:54:24 +0100 Subject: [PATCH] import.csv added time import if available Closes #4554 --- .../portfolio/datatransfer/csv/CSVExtractor.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVExtractor.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVExtractor.java index 9b7820068a..e065df1fcc 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVExtractor.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/datatransfer/csv/CSVExtractor.java @@ -3,6 +3,7 @@ import java.math.BigDecimal; import java.text.MessageFormat; import java.text.ParseException; +import java.text.SimpleDateFormat; import java.time.DateTimeException; import java.time.LocalDateTime; import java.time.ZoneId; @@ -118,11 +119,19 @@ protected final LocalDateTime getDate(String dateColumn, String timeColumn, Stri String dateValue = getText(dateColumn, rawValues, field2column); if (dateValue == null) return null; + boolean isTimeInData = dateValue.contains("T"); //$NON-NLS-1$ LocalDateTime result; try { - Date date = (Date) field2column.get(dateColumn).getFormat().getFormat().parseObject(dateValue); + String simpleDateFormatText = field2column.get(dateColumn).getFormat().toPattern(); + boolean isTimeInFormat = simpleDateFormatText.contains("\'T\'"); //$NON-NLS-1$ + if (isTimeInData && !isTimeInFormat) + { + simpleDateFormatText += "\'T\'HH:mm"; //$NON-NLS-1$ + } + SimpleDateFormat formatter = new SimpleDateFormat(simpleDateFormatText); + Date date = (Date) formatter.parseObject(dateValue); result = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); } catch (ParseException e)