Browse Source

Merge eaaa3753c9 into aae9c61ab6

pull/3189/merge
lonecloud 5 months ago committed by GitHub
parent
commit
c71ec9849f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 9
      easyexcel-core/src/main/java/com/alibaba/excel/util/DateUtils.java
  2. 47
      easyexcel-test/src/test/java/com/alibaba/easyexcel/test/util/DateUtilTest.java

9
easyexcel-core/src/main/java/com/alibaba/excel/util/DateUtils.java

@ -77,7 +77,11 @@ public class DateUtils {
public static final String DATE_FORMAT_17 = "yyyyMMdd HH:mm:ss";
public static final String DATE_FORMAT_19 = "yyyy-MM-dd HH:mm:ss";
public static final String DATE_FORMAT_19_FORWARD_SLASH = "yyyy/MM/dd HH:mm:ss";
public static final String DATE_FORMAT_SIMPLE_SLASH = "yyyy/M/d HH:mm:ss";
private static final String MINUS = "-";
private static final String SLASH = "/";
public static String defaultDateFormat = DATE_FORMAT_19;
@ -179,7 +183,12 @@ public class DateUtils {
} else {
return DATE_FORMAT_16_FORWARD_SLASH;
}
case 18:
return DATE_FORMAT_SIMPLE_SLASH;
case 17:
if (dateString.contains(SLASH)) {
return DATE_FORMAT_SIMPLE_SLASH;
}
return DATE_FORMAT_17;
case 14:
return DATE_FORMAT_14;

47
easyexcel-test/src/test/java/com/alibaba/easyexcel/test/util/DateUtilTest.java

@ -0,0 +1,47 @@
package com.alibaba.easyexcel.test.util;
import com.alibaba.excel.util.DateUtils;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import static com.alibaba.excel.util.DateUtils.DATE_FORMAT_10;
import static com.alibaba.excel.util.DateUtils.DATE_FORMAT_14;
import static com.alibaba.excel.util.DateUtils.DATE_FORMAT_16;
import static com.alibaba.excel.util.DateUtils.DATE_FORMAT_16_FORWARD_SLASH;
import static com.alibaba.excel.util.DateUtils.DATE_FORMAT_17;
import static com.alibaba.excel.util.DateUtils.DATE_FORMAT_19;
import static com.alibaba.excel.util.DateUtils.DATE_FORMAT_19_FORWARD_SLASH;
import static com.alibaba.excel.util.DateUtils.DATE_FORMAT_SIMPLE_SLASH;
/**
* @author lonecloud
*/
public class DateUtilTest {
LocalDateTime testTime = LocalDateTime.of(2023, 1, 1, 1, 1, 1);
LocalDateTime testTime2 = LocalDateTime.of(2023, 10, 1, 1, 1, 1);
LocalDateTime testTime3 = LocalDateTime.of(2023, 1, 10, 1, 1, 1);
public String[] patternTest = {DATE_FORMAT_10, DATE_FORMAT_14, DATE_FORMAT_16, DATE_FORMAT_16_FORWARD_SLASH, DATE_FORMAT_17, DATE_FORMAT_19, DATE_FORMAT_19_FORWARD_SLASH, DATE_FORMAT_SIMPLE_SLASH};
@Test
public void switchDateFormatTest() {
for (String pattern : patternTest) {
String format = testTime.format(DateTimeFormatter.ofPattern(pattern));
Assertions.assertEquals(pattern, DateUtils.switchDateFormat(format));
}
for (String pattern : patternTest) {
String format = testTime2.format(DateTimeFormatter.ofPattern(pattern));
Assertions.assertEquals(pattern, DateUtils.switchDateFormat(format));
}
for (String pattern : patternTest) {
String format = testTime3.format(DateTimeFormatter.ofPattern(pattern));
Assertions.assertEquals(pattern, DateUtils.switchDateFormat(format));
}
}
}
Loading…
Cancel
Save