+ * 例:Map map = JsonUtil.obj2Map(data); + *
+ * + * @param pojo bean + * @return Map + */ + public static Map, ?> objToMap(Object pojo) { + return json2Obj(obj2Json(pojo), Map.class); + } + /** * 格式化输出 * @@ -338,7 +354,7 @@ public class JsonUtil { * @return 格式化后的字符串 */ public static String formatPrinter(Object obj) { - String json = null; + String json = ""; try { json = jsonMapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj); } catch (JsonProcessingException e) { diff --git a/src/test/java/com/yexuejc/base/util/DateUtilTest.java b/src/test/java/com/yexuejc/base/util/DateUtilTest.java new file mode 100644 index 0000000..38f0c3d --- /dev/null +++ b/src/test/java/com/yexuejc/base/util/DateUtilTest.java @@ -0,0 +1,70 @@ +package com.yexuejc.base.util; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.util.Date; +import java.util.Locale; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DateUtilTest { + + @Test + public void testParseDate() throws ParseException { + String dateStr = "2022-03-20"; + String dateFormat = "yyyy-MM-dd"; + Date date = DateUtil.parseDate(dateStr, dateFormat); + SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); + assertEquals(sdf.format(date), dateStr); + } + + @Test + public void testParseLocalDate() throws ParseException { + String dateStr = "2022-03-20"; + String dateFormat = "yyyy-MM-dd"; + LocalDate date = DateTimeUtil.parseLocalDate(DateUtil.parseDate(dateStr, dateFormat)); + assertEquals(date.toString(), dateStr); + } + + @Test + public void testFormatDateNow() { + String dateFormat = "yyyy-MM-dd"; + String nowDateStr = DateUtil.formatDateNow(dateFormat); + SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); + String nowDate = sdf.format(new Date()); + assertEquals(nowDate, nowDateStr); + } + + @Test + public void testFormatDate() { + Date date = new Date(); + String dateFormat = "yyyy-MM-dd"; + String formattedDate = DateUtil.formatDate(date, dateFormat); + SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); + assertEquals(sdf.format(date), formattedDate); + } + + @Test + public void testFormatDateWithLocale() { + Date date = new Date(); + String dateFormat = "yyyy-MM-dd"; + Locale locale = Locale.JAPAN; + String formattedDate = DateUtil.formatDate(date, dateFormat, locale); + SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, locale); + assertEquals(sdf.format(date), formattedDate); + } + + @Test + public void testGetDateByPlusDay() { + int days = 2; + String dateFormat = "yyyy-MM-dd"; + String plusDateStr = DateUtil.formatDate(DateUtil.datePlus(new Date(), days), dateFormat); + LocalDate nowDate = LocalDate.now(); + LocalDate plusDate = nowDate.plusDays(days); + assertEquals(plusDate.toString(), plusDateStr); + } + +}