From 426396633fda83398a152f23b82d7541c61022c7 Mon Sep 17 00:00:00 2001 From: duandazhi Date: Tue, 16 Mar 2021 22:12:44 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20LocalDateTime=E3=80=81?= =?UTF-8?q?LocalDate=202=20Date=20=E4=BA=92=E8=BD=AC=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hutool/core/date/DateUtils8Transform.java | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java b/hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java new file mode 100644 index 000000000..3c6cba2f1 --- /dev/null +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java @@ -0,0 +1,95 @@ +package cn.hutool.core.date; + +import java.time.*; +import java.util.Date; + +/** + * LocalDate和Date的互换 + *

+ * java.sql.Date、java.sql.Timestamp、java.util.Date这些类都不好用,很多方法都过时了。 + * Java8里面新出来了一些API,LocalDate、LocalTime、LocalDateTime 非常好用 + * 如果想要在JDBC中,使用Java8的日期LocalDate、LocalDateTime,则必须要求数据库驱动的版本不能低于4.2 + * + * @author dazer + * @date 2018/2/8 下午2:31 + * @see DateUtil + */ +public class DateUtils8Transform { + + private DateUtils8Transform() { + } + + /** + * 01. java.util.Date --> java.time.LocalDateTime + */ + public static LocalDateTime date2Java8DateTime(Date date) { + Instant instant = date.toInstant(); + ZoneId zone = ZoneId.systemDefault(); + return LocalDateTime.ofInstant(instant, zone); + } + + /** + * 02. java.util.Date --> java.time.LocalDate + */ + public static LocalDate date2Java8Date(Date date) { + Instant instant = date.toInstant(); + ZoneId zone = ZoneId.systemDefault(); + LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); + return localDateTime.toLocalDate(); + } + + /** + * 03. java.util.Date --> java.time.LocalTime + */ + public static LocalTime date2Java8Time(Date date) { + Instant instant = date.toInstant(); + ZoneId zone = ZoneId.systemDefault(); + LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); + return localDateTime.toLocalTime(); + } + + + /** + * 04. java.time.LocalDateTime --> java.util.Date + */ + public static Date java8Date2Date(LocalDateTime localDateTime) { + ZoneId zone = ZoneId.systemDefault(); + Instant instant = localDateTime.atZone(zone).toInstant(); + return Date.from(instant); + } + + + /** + * 05. java.time.LocalDate --> java.util.Date + */ + public static Date java8Date2Date(LocalDate localDate) { + ZoneId zone = ZoneId.systemDefault(); + Instant instant = localDate.atStartOfDay().atZone(zone).toInstant(); + return Date.from(instant); + } + + /** + * 06. java.time.LocalTime --> java.util.Date + */ + public static Date java8Date2Date(LocalTime localTime) { + LocalDate localDate = LocalDate.now(); + LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime); + ZoneId zone = ZoneId.systemDefault(); + Instant instant = localDateTime.atZone(zone).toInstant(); + return Date.from(instant); + } + + /** + * java.sql.Date与java.util.Date的转化 + * + * @param sqlDate + * @return + */ + public static Date sqlDate2Date(java.sql.Date sqlDate) { + return new Date(sqlDate.getTime()); + } + + public static Date date2SqlDate(Date date) { + return new java.sql.Date(new Date().getTime()); + } +} From 5b7f34b6358713aff69203e783945ccc42e1e5d4 Mon Sep 17 00:00:00 2001 From: duandazhi Date: Tue, 16 Mar 2021 23:21:19 +0800 Subject: [PATCH 2/4] =?UTF-8?q?DateUtils8Transform=E4=BA=92=E8=BD=AC?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB=20=E5=A2=9E=E5=8A=A0=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hutool/core/date/DateUtils8Transform.java | 13 +- .../core/date/DateUtils8TransformTest.java | 114 ++++++++++++++++++ 2 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 hutool-core/src/test/java/cn/hutool/core/date/DateUtils8TransformTest.java diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java b/hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java index 3c6cba2f1..928222710 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java @@ -53,8 +53,7 @@ public class DateUtils8Transform { * 04. java.time.LocalDateTime --> java.util.Date */ public static Date java8Date2Date(LocalDateTime localDateTime) { - ZoneId zone = ZoneId.systemDefault(); - Instant instant = localDateTime.atZone(zone).toInstant(); + Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant(); return Date.from(instant); } @@ -80,7 +79,7 @@ public class DateUtils8Transform { } /** - * java.sql.Date与java.util.Date的转化 + * 07. java.sql.Date与java.util.Date的转化 * * @param sqlDate * @return @@ -89,7 +88,13 @@ public class DateUtils8Transform { return new Date(sqlDate.getTime()); } - public static Date date2SqlDate(Date date) { + /** + * 08. java.util.Date与java.sql.Date的转化 + * + * @param date + * @return + */ + public static java.sql.Date date2SqlDate(Date date) { return new java.sql.Date(new Date().getTime()); } } diff --git a/hutool-core/src/test/java/cn/hutool/core/date/DateUtils8TransformTest.java b/hutool-core/src/test/java/cn/hutool/core/date/DateUtils8TransformTest.java new file mode 100644 index 000000000..30d85fbb1 --- /dev/null +++ b/hutool-core/src/test/java/cn/hutool/core/date/DateUtils8TransformTest.java @@ -0,0 +1,114 @@ +package cn.hutool.core.date; + +import org.junit.Assert; +import org.junit.Test; + +import java.time.*; +import java.time.format.DateTimeFormatter; +import java.util.Date; + +import static cn.hutool.core.date.DatePattern.*; + +/** + * DateUtils8Transform LocalDate和Date的互换 测试用例 + * + * @author dazer + * @date 2021/3/16 22:23 + */ +public class DateUtils8TransformTest { + + /** + * 01. java.util.Date --> java.time.LocalDateTime + */ + @Test + public void date2Java8DateTimeTest() { + String str = "2021-03-16 23:59:59"; + DateTime nowDateTime = DateTime.of(str, NORM_DATETIME_PATTERN); + LocalDateTime now = DateUtils8Transform.date2Java8DateTime(nowDateTime); + Assert.assertEquals(LocalDateTimeUtil.format(now, DatePattern.NORM_DATETIME_FORMATTER), str); + } + + /** + * 02. java.util.Date --> java.time.LocalDate + */ + @Test + public void date2Java8DateTest() { + String str = "2021-03-16"; + DateTime nowDateTime = DateTime.of(str, NORM_DATE_PATTERN); + LocalDate now = DateUtils8Transform.date2Java8Date(nowDateTime); + Assert.assertEquals(LocalDateTimeUtil.format(now, DatePattern.NORM_DATE_PATTERN), str); + } + + /** + * 03. java.util.Date --> java.time.LocalTime + */ + @Test + public void date2Java8TimeTest() { + String str = "23:59:59"; + DateTime nowDateTime = DateTime.of(str, NORM_TIME_PATTERN); + LocalTime now = DateUtils8Transform.date2Java8Time(nowDateTime); + now.format(DateTimeFormatter.ofPattern(NORM_TIME_PATTERN)); + Assert.assertEquals(now.format(DateTimeFormatter.ofPattern(NORM_TIME_PATTERN)), str); + } + + + /** + * 04. java.time.LocalDateTime --> java.util.Date + */ + @Test + public void java8Date2DateTest1() { + String str = "2021-03-16 23:59:59"; + LocalDateTime now = LocalDateTimeUtil.parse(str, NORM_DATETIME_FORMATTER); + Date nowDate = DateUtils8Transform.java8Date2Date(now); + String temp1 = DateUtil.format(nowDate, NORM_DATE_FORMAT); + Assert.assertEquals(LocalDateTimeUtil.of(nowDate), now); + } + + + /** + * 05. java.time.LocalDate --> java.util.Date + */ + @Test + public void java8Date2DateTest2() { + String str = "2021-03-16"; + LocalDate now = LocalDateTimeUtil.parseDate(str); + Date nowDate = DateUtils8Transform.java8Date2Date(now); + String temp1 = DateUtil.format(nowDate, NORM_DATE_FORMAT); + Assert.assertEquals(temp1, str); + } + + /** + * 06. java.time.LocalTime --> java.util.Date + */ + @Test + public void java8Date2DateTest() { + String str = "23:59:59"; + LocalTime now = LocalDateTimeUtil.parse(str, DateTimeFormatter.ofPattern(NORM_TIME_PATTERN)).toLocalTime(); + Date nowDate = DateUtils8Transform.java8Date2Date(now); + String temp1 = DateUtil.format(nowDate, NORM_TIME_PATTERN); + Assert.assertEquals(temp1, str); + } + + /** + * java.sql.Date与java.util.Date的转化 + * + * @return + */ + @Test + public void sqlDate2DateTest() { + String str = "2021-03-16"; + LocalDate now = LocalDateTimeUtil.parseDate(str); + Date date = DateUtils8Transform.sqlDate2Date(java.sql.Date.valueOf(now)); + Assert.assertEquals(new DateTime(date).toDateStr(), str); + } + + /** + * 08. java.util.Date与java.sql.Date的转化 + */ + @Test + public void date2SqlDateTest() { + String str = "2021-03-16"; + java.sql.Date date = DateUtils8Transform.date2SqlDate(DateTime.of(str, NORM_DATE_PATTERN)); + Assert.assertEquals(new DateTime(date).toDateStr(), str); + } +} From e9cdc55cb9ff01d6682593cac1f7d4548f7e9168 Mon Sep 17 00:00:00 2001 From: duandazhi Date: Fri, 19 Mar 2021 09:55:11 +0800 Subject: [PATCH 3/4] =?UTF-8?q?Validator=E6=96=B0=E5=A2=9E:=20=E8=BD=A6?= =?UTF-8?q?=E6=9E=B6=E5=8F=B7(=E8=BD=A6=E8=BE=86=E8=AF=86=E5=88=AB?= =?UTF-8?q?=E7=A0=81)=E9=AA=8C=E8=AF=81=E3=80=81=E9=A9=BE=E9=A9=B6?= =?UTF-8?q?=E8=AF=81=EF=BC=88=E9=A9=BE=E9=A9=B6=E8=AF=81=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=E7=BC=96=E5=8F=B7=EF=BC=89=E7=9A=84=E6=AD=A3=E5=88=99=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E3=80=82=20=E9=A1=B9=E7=9B=AE=E4=B8=AD=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=BD=A6=E6=9E=B6=E5=8F=B7=E5=92=8C=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=E7=BC=96=E5=8F=B7=20=E5=9C=BA=E6=99=AF=E6=AF=94=E8=BE=83?= =?UTF-8?q?=E5=A4=9A=EF=BC=8C=E5=9B=A0=E6=AD=A4=E6=B7=BB=E5=8A=A0=EF=BC=9B?= =?UTF-8?q?=20=E7=BB=8F=E8=BF=87=E7=9C=9F=E5=AE=9E=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=AE=9E=E6=88=98=E4=BD=BF=E7=94=A8=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/core/lang/PatternPool.java | 16 +++++ .../java/cn/hutool/core/lang/Validator.java | 65 +++++++++++++++++++ .../cn/hutool/core/lang/ValidatorTest.java | 11 ++++ 3 files changed, 92 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/PatternPool.java b/hutool-core/src/main/java/cn/hutool/core/lang/PatternPool.java index 495f23b5b..153d6c122 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/PatternPool.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/PatternPool.java @@ -127,6 +127,22 @@ public class PatternPool { * */ public static final Pattern CREDIT_CODE = Pattern.compile("^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$"); + /** + * 车架号 + * 别名:车辆识别代号 车辆识别码 + * eg:LDC613P23A1305189 + * eg:LSJA24U62JG269225 + * 十七位码、车架号 + * 车辆的唯一标示 + */ + public static final Pattern CAR_VIN = Pattern.compile("^[A-Za-z0-9]{17}$"); + /** + * 驾驶证 别名:驾驶证档案编号、行驶证编号 + * eg:430101758218 + * 12位数字字符串 + * 仅限:中国驾驶证档案编号 + */ + public static final Pattern CAR_DRIVING_LICENCE = Pattern.compile("^[0-9]{12}$"); // ------------------------------------------------------------------------------------------------------------------------------------------------------------------- /** diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/Validator.java b/hutool-core/src/main/java/cn/hutool/core/lang/Validator.java index 3fd15c862..1da6627a9 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/Validator.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/Validator.java @@ -90,6 +90,14 @@ public class Validator { * 中国车牌号码 */ public final static Pattern PLATE_NUMBER = PatternPool.PLATE_NUMBER; + /** + * 车架号;别名:车辆识别代号 车辆识别码;十七位码 + */ + public final static Pattern CAR_VIN = PatternPool.CAR_VIN; + /** + * 驾驶证 别名:驾驶证档案编号、行驶证编号;12位数字字符串;仅限:中国驾驶证档案编号 + */ + public final static Pattern CAR_DRIVING_LICENCE = PatternPool.CAR_DRIVING_LICENCE; /** * 给定值是否为{@code true} @@ -1136,4 +1144,61 @@ public class Validator { public static boolean isCreditCode(CharSequence creditCode) { return CreditCodeUtil.isCreditCode(creditCode); } + + /** + * 验证是否为车架号;别名:行驶证编号 车辆识别代号 车辆识别码 + * + * @param value 值,17位车架号;形如:LSJA24U62JG269225、LDC613P23A1305189 + * @return 是否为车架号 + * @since 5.6.3 + */ + public static boolean isCarVin(CharSequence value) { + return isMatchRegex(CAR_VIN, value); + } + + /** + * 验证是否为车架号;别名:行驶证编号 车辆识别代号 车辆识别码 + * + * @param 字符串类型 + * @param value 值 + * @param errorMsg 验证错误的信息 + * @return 验证后的值 + * @throws ValidateException 验证异常 + * @since 5.6.3 + */ + public static T validateCarVin(T value, String errorMsg) throws ValidateException { + if (!isCarVin(value)) { + throw new ValidateException(errorMsg); + } + return value; + } + + /** + * 验证是否为驾驶证 别名:驾驶证档案编号、行驶证编号 + * 仅限:中国驾驶证档案编号 + * + * @param value 值,12位数字字符串,eg:430101758218 + * @return 是否为档案编号 + * @since 5.6.3 + */ + public static boolean isCarDrivingLicence(CharSequence value) { + return isMatchRegex(CAR_DRIVING_LICENCE, value); + } + + /** + * 验证是否为驾驶证 别名:驾驶证档案编号、行驶证编号 + * + * @param 字符串类型 + * @param value 值 + * @param errorMsg 验证错误的信息 + * @return 验证后的值 + * @throws ValidateException 验证异常 + * @since 5.6.3 + */ + public static T validateCarDrivingLicence(T value, String errorMsg) throws ValidateException { + if (!isCarDrivingLicence(value)) { + throw new ValidateException(errorMsg); + } + return value; + } } diff --git a/hutool-core/src/test/java/cn/hutool/core/lang/ValidatorTest.java b/hutool-core/src/test/java/cn/hutool/core/lang/ValidatorTest.java index e4f1bf450..4a2af9d81 100644 --- a/hutool-core/src/test/java/cn/hutool/core/lang/ValidatorTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/lang/ValidatorTest.java @@ -195,4 +195,15 @@ public class ValidatorTest { Assert.assertTrue(Validator.isBetween(0.19f, 0.1f, 0.2f)); Assert.assertTrue(Validator.isBetween(0.19, 0.1, 0.2)); } + + @Test + public void isCarVinTest(){ + Assert.assertTrue(Validator.isCarVin("LSJA24U62JG269225")); + Assert.assertTrue(Validator.isCarVin("LDC613P23A1305189")); + } + + @Test + public void isCarDrivingLicenceTest(){ + Assert.assertTrue(Validator.isCarDrivingLicence("430101758218")); + } } From cbb85fd0b3fd14e758d3b61323aa71dbe0acf047 Mon Sep 17 00:00:00 2001 From: duandazhi Date: Fri, 19 Mar 2021 10:01:11 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=88=A0=E9=99=A4pr=E8=A2=AB=E9=80=80?= =?UTF-8?q?=E5=9B=9E=E7=9A=84=E6=97=A5=E6=9C=9F=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hutool/core/date/DateUtils8Transform.java | 100 --------------- .../core/date/DateUtils8TransformTest.java | 114 ------------------ 2 files changed, 214 deletions(-) delete mode 100644 hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java delete mode 100644 hutool-core/src/test/java/cn/hutool/core/date/DateUtils8TransformTest.java diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java b/hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java deleted file mode 100644 index 928222710..000000000 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateUtils8Transform.java +++ /dev/null @@ -1,100 +0,0 @@ -package cn.hutool.core.date; - -import java.time.*; -import java.util.Date; - -/** - * LocalDate和Date的互换 - *

- * java.sql.Date、java.sql.Timestamp、java.util.Date这些类都不好用,很多方法都过时了。 - * Java8里面新出来了一些API,LocalDate、LocalTime、LocalDateTime 非常好用 - * 如果想要在JDBC中,使用Java8的日期LocalDate、LocalDateTime,则必须要求数据库驱动的版本不能低于4.2 - * - * @author dazer - * @date 2018/2/8 下午2:31 - * @see DateUtil - */ -public class DateUtils8Transform { - - private DateUtils8Transform() { - } - - /** - * 01. java.util.Date --> java.time.LocalDateTime - */ - public static LocalDateTime date2Java8DateTime(Date date) { - Instant instant = date.toInstant(); - ZoneId zone = ZoneId.systemDefault(); - return LocalDateTime.ofInstant(instant, zone); - } - - /** - * 02. java.util.Date --> java.time.LocalDate - */ - public static LocalDate date2Java8Date(Date date) { - Instant instant = date.toInstant(); - ZoneId zone = ZoneId.systemDefault(); - LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); - return localDateTime.toLocalDate(); - } - - /** - * 03. java.util.Date --> java.time.LocalTime - */ - public static LocalTime date2Java8Time(Date date) { - Instant instant = date.toInstant(); - ZoneId zone = ZoneId.systemDefault(); - LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); - return localDateTime.toLocalTime(); - } - - - /** - * 04. java.time.LocalDateTime --> java.util.Date - */ - public static Date java8Date2Date(LocalDateTime localDateTime) { - Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant(); - return Date.from(instant); - } - - - /** - * 05. java.time.LocalDate --> java.util.Date - */ - public static Date java8Date2Date(LocalDate localDate) { - ZoneId zone = ZoneId.systemDefault(); - Instant instant = localDate.atStartOfDay().atZone(zone).toInstant(); - return Date.from(instant); - } - - /** - * 06. java.time.LocalTime --> java.util.Date - */ - public static Date java8Date2Date(LocalTime localTime) { - LocalDate localDate = LocalDate.now(); - LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime); - ZoneId zone = ZoneId.systemDefault(); - Instant instant = localDateTime.atZone(zone).toInstant(); - return Date.from(instant); - } - - /** - * 07. java.sql.Date与java.util.Date的转化 - * - * @param sqlDate - * @return - */ - public static Date sqlDate2Date(java.sql.Date sqlDate) { - return new Date(sqlDate.getTime()); - } - - /** - * 08. java.util.Date与java.sql.Date的转化 - * - * @param date - * @return - */ - public static java.sql.Date date2SqlDate(Date date) { - return new java.sql.Date(new Date().getTime()); - } -} diff --git a/hutool-core/src/test/java/cn/hutool/core/date/DateUtils8TransformTest.java b/hutool-core/src/test/java/cn/hutool/core/date/DateUtils8TransformTest.java deleted file mode 100644 index 30d85fbb1..000000000 --- a/hutool-core/src/test/java/cn/hutool/core/date/DateUtils8TransformTest.java +++ /dev/null @@ -1,114 +0,0 @@ -package cn.hutool.core.date; - -import org.junit.Assert; -import org.junit.Test; - -import java.time.*; -import java.time.format.DateTimeFormatter; -import java.util.Date; - -import static cn.hutool.core.date.DatePattern.*; - -/** - * DateUtils8Transform LocalDate和Date的互换 测试用例 - * - * @author dazer - * @date 2021/3/16 22:23 - */ -public class DateUtils8TransformTest { - - /** - * 01. java.util.Date --> java.time.LocalDateTime - */ - @Test - public void date2Java8DateTimeTest() { - String str = "2021-03-16 23:59:59"; - DateTime nowDateTime = DateTime.of(str, NORM_DATETIME_PATTERN); - LocalDateTime now = DateUtils8Transform.date2Java8DateTime(nowDateTime); - Assert.assertEquals(LocalDateTimeUtil.format(now, DatePattern.NORM_DATETIME_FORMATTER), str); - } - - /** - * 02. java.util.Date --> java.time.LocalDate - */ - @Test - public void date2Java8DateTest() { - String str = "2021-03-16"; - DateTime nowDateTime = DateTime.of(str, NORM_DATE_PATTERN); - LocalDate now = DateUtils8Transform.date2Java8Date(nowDateTime); - Assert.assertEquals(LocalDateTimeUtil.format(now, DatePattern.NORM_DATE_PATTERN), str); - } - - /** - * 03. java.util.Date --> java.time.LocalTime - */ - @Test - public void date2Java8TimeTest() { - String str = "23:59:59"; - DateTime nowDateTime = DateTime.of(str, NORM_TIME_PATTERN); - LocalTime now = DateUtils8Transform.date2Java8Time(nowDateTime); - now.format(DateTimeFormatter.ofPattern(NORM_TIME_PATTERN)); - Assert.assertEquals(now.format(DateTimeFormatter.ofPattern(NORM_TIME_PATTERN)), str); - } - - - /** - * 04. java.time.LocalDateTime --> java.util.Date - */ - @Test - public void java8Date2DateTest1() { - String str = "2021-03-16 23:59:59"; - LocalDateTime now = LocalDateTimeUtil.parse(str, NORM_DATETIME_FORMATTER); - Date nowDate = DateUtils8Transform.java8Date2Date(now); - String temp1 = DateUtil.format(nowDate, NORM_DATE_FORMAT); - Assert.assertEquals(LocalDateTimeUtil.of(nowDate), now); - } - - - /** - * 05. java.time.LocalDate --> java.util.Date - */ - @Test - public void java8Date2DateTest2() { - String str = "2021-03-16"; - LocalDate now = LocalDateTimeUtil.parseDate(str); - Date nowDate = DateUtils8Transform.java8Date2Date(now); - String temp1 = DateUtil.format(nowDate, NORM_DATE_FORMAT); - Assert.assertEquals(temp1, str); - } - - /** - * 06. java.time.LocalTime --> java.util.Date - */ - @Test - public void java8Date2DateTest() { - String str = "23:59:59"; - LocalTime now = LocalDateTimeUtil.parse(str, DateTimeFormatter.ofPattern(NORM_TIME_PATTERN)).toLocalTime(); - Date nowDate = DateUtils8Transform.java8Date2Date(now); - String temp1 = DateUtil.format(nowDate, NORM_TIME_PATTERN); - Assert.assertEquals(temp1, str); - } - - /** - * java.sql.Date与java.util.Date的转化 - * - * @return - */ - @Test - public void sqlDate2DateTest() { - String str = "2021-03-16"; - LocalDate now = LocalDateTimeUtil.parseDate(str); - Date date = DateUtils8Transform.sqlDate2Date(java.sql.Date.valueOf(now)); - Assert.assertEquals(new DateTime(date).toDateStr(), str); - } - - /** - * 08. java.util.Date与java.sql.Date的转化 - */ - @Test - public void date2SqlDateTest() { - String str = "2021-03-16"; - java.sql.Date date = DateUtils8Transform.date2SqlDate(DateTime.of(str, NORM_DATE_PATTERN)); - Assert.assertEquals(new DateTime(date).toDateStr(), str); - } -}