This commit is contained in:
Looly 2022-06-21 20:08:58 +08:00
parent bddb24711e
commit beb3dd248d
8 changed files with 72 additions and 64 deletions

View File

@ -232,14 +232,21 @@ public class TimeUtil {
} }
/** /**
* 解析日期时间字符串为{@link LocalDateTime}仅支持yyyy-MM-dd'T'HH:mm:ss格式例如2007-12-03T10:15:30<br> * 解析日期时间字符串为{@link LocalDateTime}支持
* {@link DateTimeFormatter#ISO_LOCAL_DATE_TIME} * <ul>
* <li>{@link DateTimeFormatter#ISO_LOCAL_DATE_TIME} yyyy-MM-dd'T'HH:mm:ss格式例如2007-12-03T10:15:30</li>
* <li>yyyy-MM-dd HH:mm:ss</li>
* </ul>
* *
* @param text 日期时间字符串 * @param text 日期时间字符串
* @return {@link LocalDateTime} * @return {@link LocalDateTime}
*/ */
public static LocalDateTime parse(final CharSequence text) { public static LocalDateTime parseByISO(final CharSequence text) {
return parse(text, (DateTimeFormatter) null); if (StrUtil.contains(text, 'T')) {
return parse(text, DateTimeFormatter.ISO_LOCAL_DATE_TIME);
}else{
return parse(text, DatePattern.NORM_DATETIME_FORMATTER);
}
} }
/** /**
@ -308,7 +315,7 @@ public class TimeUtil {
* @return {@link LocalDate} * @return {@link LocalDate}
* @since 5.3.10 * @since 5.3.10
*/ */
public static LocalDate parseDate(final CharSequence text) { public static LocalDate parseDateByISO(final CharSequence text) {
return parseDate(text, (DateTimeFormatter) null); return parseDate(text, (DateTimeFormatter) null);
} }

View File

@ -6,12 +6,13 @@ import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import java.util.Date; import java.util.Date;
import java.util.Objects;
public class ChineseDateTest { public class ChineseDateTest {
@Test @Test
public void chineseDateTest() { public void chineseDateTest() {
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25")); ChineseDate date = new ChineseDate(Objects.requireNonNull(DateUtil.parse("2020-01-25")));
Assert.assertEquals("2020-01-25 00:00:00", date.getGregorianDate().toString()); Assert.assertEquals("2020-01-25 00:00:00", date.getGregorianDate().toString());
Assert.assertEquals(2020, date.getChineseYear()); Assert.assertEquals(2020, date.getChineseYear());
@ -28,9 +29,9 @@ public class ChineseDateTest {
Assert.assertEquals("春节", date.getFestivals()); Assert.assertEquals("春节", date.getFestivals());
Assert.assertEquals("庚子鼠年 正月初一", date.toString()); Assert.assertEquals("庚子鼠年 正月初一", date.toString());
date = new ChineseDate(DateUtil.parseDate("2020-01-14")); date = new ChineseDate(Objects.requireNonNull(DateUtil.parse("2020-01-14")));
Assert.assertEquals("己亥猪年 腊月二十", date.toString()); Assert.assertEquals("己亥猪年 腊月二十", date.toString());
date = new ChineseDate(DateUtil.parseDate("2020-01-24")); date = new ChineseDate(Objects.requireNonNull(DateUtil.parse("2020-01-24")));
Assert.assertEquals("己亥猪年 腊月三十", date.toString()); Assert.assertEquals("己亥猪年 腊月三十", date.toString());
Assert.assertEquals("2019-12-30", date.toStringNormal()); Assert.assertEquals("2019-12-30", date.toStringNormal());
@ -38,16 +39,16 @@ public class ChineseDateTest {
@Test @Test
public void toStringNormalTest(){ public void toStringNormalTest(){
final ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-03-1")); final ChineseDate date = new ChineseDate(Objects.requireNonNull(DateUtil.parse("2020-03-1")));
Assert.assertEquals("2020-02-08", date.toStringNormal()); Assert.assertEquals("2020-02-08", date.toStringNormal());
} }
@Test @Test
public void parseTest(){ public void parseTest(){
ChineseDate date = new ChineseDate(DateUtil.parseDate("1996-07-14")); ChineseDate date = new ChineseDate(Objects.requireNonNull(DateUtil.parse("1996-07-14")));
Assert.assertEquals("丙子鼠年 五月廿九", date.toString()); Assert.assertEquals("丙子鼠年 五月廿九", date.toString());
date = new ChineseDate(DateUtil.parseDate("1996-07-15")); date = new ChineseDate(Objects.requireNonNull(DateUtil.parse("1996-07-15")));
Assert.assertEquals("丙子鼠年 五月三十", date.toString()); Assert.assertEquals("丙子鼠年 五月三十", date.toString());
} }
@ -69,7 +70,7 @@ public class ChineseDateTest {
@Test @Test
public void getFestivalsTest(){ public void getFestivalsTest(){
// issue#I1XHSF@Gitee2023-01-20对应农历腊月29非除夕 // issue#I1XHSF@Gitee2023-01-20对应农历腊月29非除夕
final ChineseDate chineseDate = new ChineseDate(DateUtil.parseDate("2023-01-20")); final ChineseDate chineseDate = new ChineseDate(Objects.requireNonNull(DateUtil.parse("2023-01-20")));
Assert.assertTrue(StrUtil.isEmpty(chineseDate.getFestivals())); Assert.assertTrue(StrUtil.isEmpty(chineseDate.getFestivals()));
} }
@ -77,9 +78,9 @@ public class ChineseDateTest {
public void dateTest(){ public void dateTest(){
// 修复这两个日期不正确的问题 // 修复这两个日期不正确的问题
// 问题出在计算与1900-01-31相差天数的问题上了相差天数非整天 // 问题出在计算与1900-01-31相差天数的问题上了相差天数非整天
ChineseDate date = new ChineseDate(DateUtil.parseDate("1991-09-14")); ChineseDate date = new ChineseDate(Objects.requireNonNull(DateUtil.parse("1991-09-14")));
Assert.assertEquals("辛未羊年 八月初七", date.toString()); Assert.assertEquals("辛未羊年 八月初七", date.toString());
date = new ChineseDate(DateUtil.parseDate("1991-09-15")); date = new ChineseDate(Objects.requireNonNull(DateUtil.parse("1991-09-15")));
Assert.assertEquals("辛未羊年 八月初八", date.toString()); Assert.assertEquals("辛未羊年 八月初八", date.toString());
} }
@ -119,7 +120,7 @@ public class ChineseDateTest {
@Test @Test
public void getChineseMonthTest2(){ public void getChineseMonthTest2(){
//https://github.com/dromara/hutool/issues/2112 //https://github.com/dromara/hutool/issues/2112
final ChineseDate springFestival = new ChineseDate(DateUtil.parseDate("2022-02-01")); final ChineseDate springFestival = new ChineseDate(Objects.requireNonNull(DateUtil.parse("2022-02-01")));
final String chineseMonth = springFestival.getChineseMonth(); final String chineseMonth = springFestival.getChineseMonth();
Assert.assertEquals("一月", chineseMonth); Assert.assertEquals("一月", chineseMonth);
} }

View File

@ -175,8 +175,8 @@ public class DateUtilTest {
@Test @Test
public void beginOfWeekTest2() { public void beginOfWeekTest2() {
final String beginStr = "2020-03-11"; final String beginStr = "2020-03-11";
final DateTime date = DateUtil.parseDate(beginStr); final DateTime date = DateUtil.parse(beginStr);
final Calendar calendar = date.toCalendar(); final Calendar calendar = Objects.requireNonNull(date).toCalendar();
final Calendar begin = DateUtil.beginOfWeek(calendar, false); final Calendar begin = DateUtil.beginOfWeek(calendar, false);
Assert.assertEquals("2020-03-08 00:00:00", DateUtil.date(begin).toString()); Assert.assertEquals("2020-03-08 00:00:00", DateUtil.date(begin).toString());
@ -208,7 +208,7 @@ public class DateUtilTest {
@Test @Test
public void offsetMonthTest() { public void offsetMonthTest() {
final DateTime st = DateUtil.parseDate("2018-05-31"); final DateTime st = DateUtil.parse("2018-05-31");
final List<DateTime> list = new ArrayList<>(); final List<DateTime> list = new ArrayList<>();
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
list.add(DateUtil.offsetMonth(st, i)); list.add(DateUtil.offsetMonth(st, i));
@ -534,7 +534,7 @@ public class DateUtilTest {
@Test @Test
public void parseDateTest() { public void parseDateTest() {
final String dateStr = "2018-4-10"; final String dateStr = "2018-4-10";
final Date date = DateUtil.parseDate(dateStr); final Date date = DateUtil.parse(dateStr);
final String format = DateUtil.format(date, DatePattern.NORM_DATE_PATTERN); final String format = DateUtil.format(date, DatePattern.NORM_DATE_PATTERN);
Assert.assertEquals("2018-04-10", format); Assert.assertEquals("2018-04-10", format);
} }
@ -610,14 +610,14 @@ public class DateUtilTest {
@Test @Test
public void parseUTCTest() { public void parseUTCTest() {
String dateStr1 = "2018-09-13T05:34:31Z"; String dateStr1 = "2018-09-13T05:34:31Z";
DateTime dt = DateUtil.parseUTC(dateStr1); DateTime dt = DateUtil.parse(dateStr1);
// parse方法支持UTC格式测试 // parse方法支持UTC格式测试
final DateTime dt2 = DateUtil.parse(dateStr1); final DateTime dt2 = DateUtil.parse(dateStr1);
Assert.assertEquals(dt, dt2); Assert.assertEquals(dt, dt2);
// 默认使用Pattern对应的时区即UTC时区 // 默认使用Pattern对应的时区即UTC时区
String dateStr = dt.toString(); String dateStr = Objects.requireNonNull(dt).toString();
Assert.assertEquals("2018-09-13 05:34:31", dateStr); Assert.assertEquals("2018-09-13 05:34:31", dateStr);
// 使用当前上海时区 // 使用当前上海时区
@ -625,13 +625,13 @@ public class DateUtilTest {
Assert.assertEquals("2018-09-13 13:34:31", dateStr); Assert.assertEquals("2018-09-13 13:34:31", dateStr);
dateStr1 = "2018-09-13T13:34:32+0800"; dateStr1 = "2018-09-13T13:34:32+0800";
dt = DateUtil.parseUTC(dateStr1); dt = DateUtil.parse(dateStr1);
dateStr = dt.toString(TimeZone.getTimeZone("GMT+8:00")); dateStr = Objects.requireNonNull(dt).toString(TimeZone.getTimeZone("GMT+8:00"));
Assert.assertEquals("2018-09-13 13:34:32", dateStr); Assert.assertEquals("2018-09-13 13:34:32", dateStr);
dateStr1 = "2018-09-13T13:34:33+08:00"; dateStr1 = "2018-09-13T13:34:33+08:00";
dt = DateUtil.parseUTC(dateStr1); dt = DateUtil.parse(dateStr1);
dateStr = dt.toString(TimeZone.getTimeZone("GMT+8:00")); dateStr = Objects.requireNonNull(dt).toString(TimeZone.getTimeZone("GMT+8:00"));
Assert.assertEquals("2018-09-13 13:34:33", dateStr); Assert.assertEquals("2018-09-13 13:34:33", dateStr);
dateStr1 = "2018-09-13T13:34:34+0800"; dateStr1 = "2018-09-13T13:34:34+0800";
@ -647,15 +647,15 @@ public class DateUtilTest {
Assert.assertEquals("2018-09-13 13:34:35", dateStr); Assert.assertEquals("2018-09-13 13:34:35", dateStr);
dateStr1 = "2018-09-13T13:34:36.999+0800"; dateStr1 = "2018-09-13T13:34:36.999+0800";
dt = DateUtil.parseUTC(dateStr1); dt = DateUtil.parse(dateStr1);
final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DatePattern.NORM_DATETIME_MS_PATTERN); final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DatePattern.NORM_DATETIME_MS_PATTERN);
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00")); simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
dateStr = dt.toString(simpleDateFormat); dateStr = Objects.requireNonNull(dt).toString(simpleDateFormat);
Assert.assertEquals("2018-09-13 13:34:36.999", dateStr); Assert.assertEquals("2018-09-13 13:34:36.999", dateStr);
dateStr1 = "2018-09-13T13:34:37.999+08:00"; dateStr1 = "2018-09-13T13:34:37.999+08:00";
dt = DateUtil.parseUTC(dateStr1); dt = DateUtil.parse(dateStr1);
dateStr = dt.toString(simpleDateFormat); dateStr = Objects.requireNonNull(dt).toString(simpleDateFormat);
Assert.assertEquals("2018-09-13 13:34:37.999", dateStr); Assert.assertEquals("2018-09-13 13:34:37.999", dateStr);
dateStr1 = "2018-09-13T13:34:38.999+0800"; dateStr1 = "2018-09-13T13:34:38.999+0800";
@ -683,16 +683,16 @@ public class DateUtilTest {
// issue1503@Github // issue1503@Github
// 检查不同毫秒长度都可以正常匹配 // 检查不同毫秒长度都可以正常匹配
String utcTime = "2021-03-30T12:56:51.3Z"; String utcTime = "2021-03-30T12:56:51.3Z";
DateTime parse = DateUtil.parseUTC(utcTime); DateTime parse = DateUtil.parse(utcTime);
Assert.assertEquals("2021-03-30 12:56:51", parse.toString()); Assert.assertEquals("2021-03-30 12:56:51", Objects.requireNonNull(parse).toString());
utcTime = "2021-03-30T12:56:51.34Z"; utcTime = "2021-03-30T12:56:51.34Z";
parse = DateUtil.parseUTC(utcTime); parse = DateUtil.parse(utcTime);
Assert.assertEquals("2021-03-30 12:56:51", parse.toString()); Assert.assertEquals("2021-03-30 12:56:51", Objects.requireNonNull(parse).toString());
utcTime = "2021-03-30T12:56:51.345Z"; utcTime = "2021-03-30T12:56:51.345Z";
parse = DateUtil.parseUTC(utcTime); parse = DateUtil.parse(utcTime);
Assert.assertEquals("2021-03-30 12:56:51", parse.toString()); Assert.assertEquals("2021-03-30 12:56:51", Objects.requireNonNull(parse).toString());
} }
@Test @Test
@ -704,7 +704,7 @@ public class DateUtilTest {
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
final DateTime parse = DateUtil.parse(dateStr, sdf); final DateTime parse = DateUtil.parse(dateStr, sdf);
DateTime dateTime = DateUtil.parseCST(dateStr); DateTime dateTime = DateUtil.parse(dateStr);
Assert.assertEquals(parse, dateTime); Assert.assertEquals(parse, dateTime);
dateTime = DateUtil.parse(dateStr); dateTime = DateUtil.parse(dateStr);
@ -858,7 +858,7 @@ public class DateUtilTest {
public void ageTest() { public void ageTest() {
final String d1 = "2000-02-29"; final String d1 = "2000-02-29";
final String d2 = "2018-02-28"; final String d2 = "2018-02-28";
final int age = DateUtil.age(DateUtil.parseDate(d1), DateUtil.parseDate(d2)); final int age = DateUtil.age(DateUtil.parse(d1), DateUtil.parse(d2));
Assert.assertEquals(18, age); Assert.assertEquals(18, age);
} }
@ -866,19 +866,19 @@ public class DateUtilTest {
public void ageTest2() { public void ageTest2() {
final String d1 = "2019-02-29"; final String d1 = "2019-02-29";
final String d2 = "2018-02-28"; final String d2 = "2018-02-28";
DateUtil.age(DateUtil.parseDate(d1), DateUtil.parseDate(d2)); DateUtil.age(DateUtil.parse(d1), DateUtil.parse(d2));
} }
@Test @Test
public void localDateTimeTest() { public void localDateTimeTest() {
// 测试字符串与LocalDateTime的互相转换 // 测试字符串与LocalDateTime的互相转换
final String strDate = "2019-12-01 17:02:30"; final String strDate = "2019-12-01 17:02:30";
LocalDateTime ldt = DateUtil.parseLocalDateTime(strDate); LocalDateTime ldt = TimeUtil.parseByISO(strDate);
String strDate1 = DateUtil.formatLocalDateTime(ldt); String strDate1 = DateUtil.formatLocalDateTime(ldt);
Assert.assertEquals(strDate, strDate1); Assert.assertEquals(strDate, strDate1);
final String strDate2 = "2019-12-01 17:02:30.111"; final String strDate2 = "2019-12-01 17:02:30.111";
ldt = DateUtil.parseLocalDateTime(strDate2, DatePattern.NORM_DATETIME_MS_PATTERN); ldt = TimeUtil.parse(strDate2, DatePattern.NORM_DATETIME_MS_PATTERN);
strDate1 = DateUtil.format(ldt, DatePattern.NORM_DATETIME_PATTERN); strDate1 = DateUtil.format(ldt, DatePattern.NORM_DATETIME_PATTERN);
Assert.assertEquals(strDate, strDate1); Assert.assertEquals(strDate, strDate1);
} }
@ -887,7 +887,7 @@ public class DateUtilTest {
public void localDateTimeTest2() { public void localDateTimeTest2() {
// 测试字符串与LocalDateTime的互相转换 // 测试字符串与LocalDateTime的互相转换
final String strDate = "2019-12-01"; final String strDate = "2019-12-01";
final LocalDateTime localDateTime = DateUtil.parseLocalDateTime(strDate, "yyyy-MM-dd"); final LocalDateTime localDateTime = TimeUtil.parse(strDate, "yyyy-MM-dd");
Assert.assertEquals(strDate, DateUtil.format(localDateTime, DatePattern.NORM_DATE_PATTERN)); Assert.assertEquals(strDate, DateUtil.format(localDateTime, DatePattern.NORM_DATE_PATTERN));
} }
@ -905,8 +905,8 @@ public class DateUtilTest {
for (int i = 0; i < 1000; i++) { for (int i = 0; i < 1000; i++) {
final String datr = RandomUtil.randomInt(1900, 2099) + "-01-20"; final String datr = RandomUtil.randomInt(1900, 2099) + "-01-20";
final long betweenDay = DateUtil.betweenDay( final long betweenDay = DateUtil.betweenDay(
DateUtil.parseDate("1970-01-01"), DateUtil.parse("1970-01-01"),
DateUtil.parseDate(datr), false); DateUtil.parse(datr), false);
Assert.assertEquals(Math.abs(LocalDate.parse(datr).toEpochDay()), betweenDay); Assert.assertEquals(Math.abs(LocalDate.parse(datr).toEpochDay()), betweenDay);
} }
} }
@ -972,7 +972,7 @@ public class DateUtilTest {
String format = DateUtil.format(DateUtil.parse("2021-07-14 10:05:38"), DatePattern.NORM_DATETIME_FORMATTER); String format = DateUtil.format(DateUtil.parse("2021-07-14 10:05:38"), DatePattern.NORM_DATETIME_FORMATTER);
Assert.assertEquals("2021-07-14 10:05:38", format); Assert.assertEquals("2021-07-14 10:05:38", format);
format = DateUtil.format(TimeUtil.parse("2021-07-14T10:05:38"), format = DateUtil.format(TimeUtil.parseByISO("2021-07-14T10:05:38"),
"yyyy-MM-dd HH:mm:ss"); "yyyy-MM-dd HH:mm:ss");
Assert.assertEquals("2021-07-14 10:05:38", format); Assert.assertEquals("2021-07-14 10:05:38", format);
} }

View File

@ -15,7 +15,7 @@ public class GanzhiTest {
@Test @Test
public void getCyclicalYMDTest(){ public void getCyclicalYMDTest(){
//通过公历构建 //通过公历构建
final ChineseDate chineseDate = new ChineseDate(DateUtil.parseDate("1993-01-06")); final ChineseDate chineseDate = new ChineseDate(DateUtil.parse("1993-01-06"));
final String cyclicalYMD = chineseDate.getCyclicalYMD(); final String cyclicalYMD = chineseDate.getCyclicalYMD();
Assert.assertEquals("壬申年癸丑月丁亥日",cyclicalYMD); Assert.assertEquals("壬申年癸丑月丁亥日",cyclicalYMD);
} }
@ -31,7 +31,7 @@ public class GanzhiTest {
@Test @Test
public void getCyclicalYMDTest3(){ public void getCyclicalYMDTest3(){
//通过公历构建 //通过公历构建
final ChineseDate chineseDate = new ChineseDate(DateUtil.parseDate("2020-08-28")); final ChineseDate chineseDate = new ChineseDate(DateUtil.parse("2020-08-28"));
final String cyclicalYMD = chineseDate.getCyclicalYMD(); final String cyclicalYMD = chineseDate.getCyclicalYMD();
Assert.assertEquals("庚子年甲申月癸卯日",cyclicalYMD); Assert.assertEquals("庚子年甲申月癸卯日",cyclicalYMD);
} }
@ -39,7 +39,7 @@ public class GanzhiTest {
@Test @Test
public void getCyclicalYMDTest4(){ public void getCyclicalYMDTest4(){
//通过公历构建 //通过公历构建
final ChineseDate chineseDate = new ChineseDate(DateUtil.parseDate("1905-08-28")); final ChineseDate chineseDate = new ChineseDate(DateUtil.parse("1905-08-28"));
final String cyclicalYMD = chineseDate.getCyclicalYMD(); final String cyclicalYMD = chineseDate.getCyclicalYMD();
Assert.assertEquals("乙巳年甲申月己亥日",cyclicalYMD); Assert.assertEquals("乙巳年甲申月己亥日",cyclicalYMD);
} }

View File

@ -59,7 +59,7 @@ public class TimeUtilTest {
@Test @Test
public void parseTest4() { public void parseTest4() {
final LocalDateTime localDateTime = TimeUtil.parse("2020-01-23T12:23:56"); final LocalDateTime localDateTime = TimeUtil.parseByISO("2020-01-23T12:23:56");
Assert.assertEquals("2020-01-23T12:23:56", localDateTime.toString()); Assert.assertEquals("2020-01-23T12:23:56", localDateTime.toString());
} }
@ -83,7 +83,7 @@ public class TimeUtilTest {
@Test @Test
public void parseDateTest() { public void parseDateTest() {
LocalDate localDate = TimeUtil.parseDate("2020-01-23"); LocalDate localDate = TimeUtil.parseDateByISO("2020-01-23");
Assert.assertEquals("2020-01-23", localDate.toString()); Assert.assertEquals("2020-01-23", localDate.toString());
localDate = TimeUtil.parseDate("2020-01-23T12:23:56", DateTimeFormatter.ISO_DATE_TIME); localDate = TimeUtil.parseDate("2020-01-23T12:23:56", DateTimeFormatter.ISO_DATE_TIME);
@ -98,7 +98,7 @@ public class TimeUtilTest {
@Test @Test
public void formatTest() { public void formatTest() {
final LocalDateTime localDateTime = TimeUtil.parse("2020-01-23T12:23:56"); final LocalDateTime localDateTime = TimeUtil.parseByISO("2020-01-23T12:23:56");
String format = TimeUtil.format(localDateTime, DatePattern.NORM_DATETIME_PATTERN); String format = TimeUtil.format(localDateTime, DatePattern.NORM_DATETIME_PATTERN);
Assert.assertEquals("2020-01-23 12:23:56", format); Assert.assertEquals("2020-01-23 12:23:56", format);
@ -121,7 +121,7 @@ public class TimeUtilTest {
@Test @Test
public void offset() { public void offset() {
final LocalDateTime localDateTime = TimeUtil.parse("2020-01-23T12:23:56"); final LocalDateTime localDateTime = TimeUtil.parseByISO("2020-01-23T12:23:56");
LocalDateTime offset = TimeUtil.offset(localDateTime, 1, ChronoUnit.DAYS); LocalDateTime offset = TimeUtil.offset(localDateTime, 1, ChronoUnit.DAYS);
// 非同一对象 // 非同一对象
Assert.assertNotSame(localDateTime, offset); Assert.assertNotSame(localDateTime, offset);
@ -135,21 +135,21 @@ public class TimeUtilTest {
@Test @Test
public void between() { public void between() {
final Duration between = TimeUtil.between( final Duration between = TimeUtil.between(
TimeUtil.parse("2019-02-02T00:00:00"), TimeUtil.parseByISO("2019-02-02T00:00:00"),
TimeUtil.parse("2020-02-02T00:00:00")); TimeUtil.parseByISO("2020-02-02T00:00:00"));
Assert.assertEquals(365, between.toDays()); Assert.assertEquals(365, between.toDays());
} }
@Test @Test
public void beginOfDayTest() { public void beginOfDayTest() {
final LocalDateTime localDateTime = TimeUtil.parse("2020-01-23T12:23:56"); final LocalDateTime localDateTime = TimeUtil.parseByISO("2020-01-23T12:23:56");
final LocalDateTime beginOfDay = TimeUtil.beginOfDay(localDateTime); final LocalDateTime beginOfDay = TimeUtil.beginOfDay(localDateTime);
Assert.assertEquals("2020-01-23T00:00", beginOfDay.toString()); Assert.assertEquals("2020-01-23T00:00", beginOfDay.toString());
} }
@Test @Test
public void endOfDayTest() { public void endOfDayTest() {
final LocalDateTime localDateTime = TimeUtil.parse("2020-01-23T12:23:56"); final LocalDateTime localDateTime = TimeUtil.parseByISO("2020-01-23T12:23:56");
LocalDateTime endOfDay = TimeUtil.endOfDay(localDateTime); LocalDateTime endOfDay = TimeUtil.endOfDay(localDateTime);
Assert.assertEquals("2020-01-23T23:59:59.999999999", endOfDay.toString()); Assert.assertEquals("2020-01-23T23:59:59.999999999", endOfDay.toString());
@ -197,11 +197,11 @@ public class TimeUtilTest {
final LocalDateTime realStartTime = LocalDateTime.of(2022, 1, 1, 11, 49, 10); final LocalDateTime realStartTime = LocalDateTime.of(2022, 1, 1, 11, 49, 10);
final LocalDateTime realEndTime = LocalDateTime.of(2022, 1, 1, 12, 0, 10); final LocalDateTime realEndTime = LocalDateTime.of(2022, 1, 1, 12, 0, 10);
final LocalDateTime realStartTime1 = DateUtil.parseLocalDateTime("2022-03-01 08:00:00"); final LocalDateTime realStartTime1 = TimeUtil.parseByISO("2022-03-01 08:00:00");
final LocalDateTime realEndTime1 = DateUtil.parseLocalDateTime("2022-03-01 10:00:00"); final LocalDateTime realEndTime1 = TimeUtil.parseByISO("2022-03-01 10:00:00");
final LocalDateTime startTime = DateUtil.parseLocalDateTime("2022-03-23 05:00:00"); final LocalDateTime startTime = TimeUtil.parseByISO("2022-03-23 05:00:00");
final LocalDateTime endTime = DateUtil.parseLocalDateTime("2022-03-23 13:00:00"); final LocalDateTime endTime = TimeUtil.parseByISO("2022-03-23 13:00:00");
Assert.assertFalse(TimeUtil.isOverlap(oneStartTime,oneEndTime,realStartTime,realEndTime)); Assert.assertFalse(TimeUtil.isOverlap(oneStartTime,oneEndTime,realStartTime,realEndTime));
Assert.assertFalse(TimeUtil.isOverlap(oneStartTime2,oneEndTime2,realStartTime,realEndTime)); Assert.assertFalse(TimeUtil.isOverlap(oneStartTime2,oneEndTime2,realStartTime,realEndTime));

View File

@ -67,8 +67,8 @@ public class SolarTermsTest {
@Test @Test
public void getTermByDateTest() { public void getTermByDateTest() {
Assert.assertEquals("春分", SolarTerms.getTerm(DateUtil.parseDate("2021-03-20"))); Assert.assertEquals("春分", SolarTerms.getTerm(DateUtil.parse("2021-03-20")));
Assert.assertEquals("处暑", SolarTerms.getTerm(DateUtil.parseDate("2022-08-23"))); Assert.assertEquals("处暑", SolarTerms.getTerm(DateUtil.parse("2022-08-23")));
} }

View File

@ -23,9 +23,9 @@ public class OracleTest {
final Query query = new Query(SqlUtil.buildConditions(where), where.getTableName()); final Query query = new Query(SqlUtil.buildConditions(where), where.getTableName());
query.setPage(page); query.setPage(page);
final SqlBuilder find = SqlBuilder.of(null).query(query).orderBy(page.getOrders()); final SqlBuilder find = SqlBuilder.of().query(query).orderBy(page.getOrders());
final int[] startEnd = page.getStartEnd(); final int[] startEnd = page.getStartEnd();
final SqlBuilder builder = SqlBuilder.of(null).append("SELECT * FROM ( SELECT row_.*, rownum rownum_ from ( ")// final SqlBuilder builder = SqlBuilder.of().append("SELECT * FROM ( SELECT row_.*, rownum rownum_ from ( ")//
.append(find)// .append(find)//
.append(" ) row_ where rownum <= ").append(startEnd[1])// .append(" ) row_ where rownum <= ").append(startEnd[1])//
.append(") table_alias")// .append(") table_alias")//

View File

@ -17,7 +17,7 @@ public class AviatorTest {
@Test @Test
public void simpleTest(){ public void simpleTest(){
final Foo foo = new Foo(100, 3.14f, DateUtil.parseDate("2020-11-12")); final Foo foo = new Foo(100, 3.14f, DateUtil.parse("2020-11-12"));
final ExpressionEngine engine = new AviatorEngine(); final ExpressionEngine engine = new AviatorEngine();
String exp = String exp =
"\"[foo i=\"+ foo.i + \", f=\" + foo.f + \", date.year=\" + (foo.date.year+1900) + \", date.month=\" + foo.date.month + \", bars[0].name=\" + #foo.bars[0].name + \"]\""; "\"[foo i=\"+ foo.i + \", f=\" + foo.f + \", date.year=\" + (foo.date.year+1900) + \", date.month=\" + foo.date.month + \", bars[0].name=\" + #foo.bars[0].name + \"]\"";