DateUtils8Transform互转工具类 增加测试用例

This commit is contained in:
duandazhi 2021-03-16 23:21:19 +08:00
parent 426396633f
commit 5b7f34b635
2 changed files with 123 additions and 4 deletions

View File

@ -53,8 +53,7 @@ public class DateUtils8Transform {
* 04. java.time.LocalDateTime --> java.util.Date * 04. java.time.LocalDateTime --> java.util.Date
*/ */
public static Date java8Date2Date(LocalDateTime localDateTime) { public static Date java8Date2Date(LocalDateTime localDateTime) {
ZoneId zone = ZoneId.systemDefault(); Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
Instant instant = localDateTime.atZone(zone).toInstant();
return Date.from(instant); 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 * @param sqlDate
* @return * @return
@ -89,7 +88,13 @@ public class DateUtils8Transform {
return new Date(sqlDate.getTime()); 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()); return new java.sql.Date(new Date().getTime());
} }
} }

View File

@ -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);
}
}