From cb52f97e3c2d6b3286001c375d24ea4b1d61c444 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Sat, 7 Aug 2021 19:52:00 +0000 Subject: [PATCH] add test git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1892092 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/org/apache/poi/ss/usermodel/DateUtil.java | 8 ++++---- .../apache/poi/ss/formula/functions/TestTimeValue.java | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java b/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java index 01d825ac74..1b23d8dcce 100644 --- a/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java +++ b/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java @@ -78,10 +78,10 @@ public class DateUtil { private static final Pattern date_ptrn5 = Pattern.compile("^\\[DBNum([123])]"); private static final DateTimeFormatter dateTimeFormats = new DateTimeFormatterBuilder() - .appendPattern("[dd MMM[ yyyy]][[ ]h:m[:s] a][[ ]H:m[:s]]") - .appendPattern("[[yyyy ]dd-MMM[-yyyy]][[ ]h:m[:s] a][[ ]H:m[:s]]") - .appendPattern("[M/dd[/yyyy]][[ ]h:m[:s] a][[ ]H:m[:s]]") - .appendPattern("[[yyyy/]M/dd][[ ]h:m[:s] a][[ ]H:m[:s]]") + .appendPattern("[dd MMM[ yyyy]][[ ]h:m[:s][.SSS] a][[ ]H:m[:s][.SSS]]") + .appendPattern("[[yyyy ]dd-MMM[-yyyy]][[ ]h:m[:s][.SSS] a][[ ]H:m[:s][.SSS]]") + .appendPattern("[M/dd[/yyyy]][[ ]h:m[:s][.SSS] a][[ ]H:m[:s][.SSS]]") + .appendPattern("[[yyyy/]M/dd][[ ]h:m[:s][.SSS] a][[ ]H:m[:s][.SSS]]") .parseDefaulting(ChronoField.YEAR_OF_ERA, LocaleUtil.getLocaleCalendar().get(Calendar.YEAR)) .toFormatter(); diff --git a/poi/src/test/java/org/apache/poi/ss/formula/functions/TestTimeValue.java b/poi/src/test/java/org/apache/poi/ss/formula/functions/TestTimeValue.java index 1cbee788b8..b7f4d4a6ab 100644 --- a/poi/src/test/java/org/apache/poi/ss/formula/functions/TestTimeValue.java +++ b/poi/src/test/java/org/apache/poi/ss/formula/functions/TestTimeValue.java @@ -63,6 +63,9 @@ final class TestTimeValue { confirmTimeValue(new StringEval("12:00"), 0.5); // Serial number of a time entered as text. confirmTimeValue(new StringEval("6:00 PM"), 0.75); // Serial number of a time entered as text. confirmTimeValue(new StringEval("12:03:45"), 0.5026041666642413); // Serial number of a time entered as text. + + // this is not yet right as the milliseconds are not counted - but this used to cause a parse issue before + confirmTimeValue(new StringEval("12:03:45.386"), 0.5026041666642413); } finally { LocaleUtil.setUserLocale(null); }