Author: axh
Date: Sat Jan 11 22:46:10 2025
New Revision: 1923081
URL: http://svn.apache.org/viewvc?rev=1923081&view=rev
Log:
Support long month names, dot after day, single digit day of month
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestValue.java
Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java?rev=1923081&r1=1923080&r2=1923081&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
[UTF-8] (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
[UTF-8] Sat Jan 11 22:46:10 2025
@@ -78,8 +78,8 @@ 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][.SSS] a][[
]H:m[:s][.SSS]]")
- .appendPattern("[[yyyy ]dd-MMM[-yyyy]][[ ]h:m[:s][.SSS] a][[
]H:m[:s][.SSS]]")
+ .appendPattern("[d[.] [MMMM][MMM][ yyyy]][[ ]h:m[:s][.SSS] a][[
]H:m[:s][.SSS]]")
+ .appendPattern("[[yyyy ]d-[MMMM][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))
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestValue.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestValue.java?rev=1923081&r1=1923080&r2=1923081&view=diff
==============================================================================
---
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestValue.java
(original)
+++
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestValue.java
Sat Jan 11 22:46:10 2025
@@ -29,9 +29,13 @@ import org.apache.poi.ss.formula.eval.Nu
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
import org.apache.poi.ss.util.Utils;
+import org.apache.poi.util.LocaleUtil;
import org.junit.jupiter.api.Test;
import java.io.IOException;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.Locale;
/**
* Tests for {@link Value}
@@ -86,6 +90,14 @@ final class TestValue {
}
@Test
+ void testDates() {
+ confirmValue("1 January 2025", 45658);
+ confirmValue("01 January 2025", 45658);
+ confirmValue("1 Jan 2025", 45658);
+ confirmValue("01 Jan 2025", 45658);
+ }
+
+ @Test
void testErrors() {
confirmValueError("1+1");
confirmValueError("1 1");
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]