]> source.dussan.org Git - poi.git/commitdiff
add test
authorPJ Fanning <fanningpj@apache.org>
Sat, 7 Aug 2021 19:52:00 +0000 (19:52 +0000)
committerPJ Fanning <fanningpj@apache.org>
Sat, 7 Aug 2021 19:52:00 +0000 (19:52 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1892092 13f79535-47bb-0310-9956-ffa450edef68

poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
poi/src/test/java/org/apache/poi/ss/formula/functions/TestTimeValue.java

index 01d825ac74b9f492b6182b971620b09f02395ca9..1b23d8dcceb386b859e763c8627aa474e8f14fb2 100644 (file)
@@ -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();
 
index 1cbee788b87204d96f66a290d8be39d0427e8c1f..b7f4d4a6abbf94b91854926e32c74430e9583893 100644 (file)
@@ -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);
         }