src/main/java/com/ruoyi/common/utils/DateUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/common/utils/DateUtils.java
@@ -3,6 +3,11 @@ import java.lang.management.ManagementFactory; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.Date; import org.apache.commons.lang3.time.DateFormatUtils; @@ -22,7 +27,7 @@ public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; private static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", @@ -121,7 +126,7 @@ return null; } } /** * 获取服务器启动时间 */ @@ -129,6 +134,14 @@ { long time = ManagementFactory.getRuntimeMXBean().getStartTime(); return new Date(time); } /** * 计算相差天数 */ public static int differentDaysByMillisecond(Date date1, Date date2) { return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24))); } /** @@ -152,4 +165,23 @@ // long sec = diff % nd % nh % nm / ns; return day + "天" + hour + "小时" + min + "分钟"; } /** * 增加 LocalDateTime ==> Date */ public static Date toDate(LocalDateTime temporalAccessor) { ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault()); return Date.from(zdt.toInstant()); } /** * 增加 LocalDate ==> Date */ public static Date toDate(LocalDate temporalAccessor) { LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0)); ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); return Date.from(zdt.toInstant()); } } src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
@@ -9,6 +9,8 @@ import java.lang.reflect.Method; import java.math.BigDecimal; import java.text.DecimalFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; @@ -132,7 +134,7 @@ * 当前行号 */ private int rownum; /** * 标题 */ @@ -314,7 +316,7 @@ String dateFormat = field.getAnnotation(Excel.class).dateFormat(); if (StringUtils.isNotEmpty(dateFormat)) { val = DateUtils.parseDateToStr(dateFormat, (Date) val); val = parseDateToStr(dateFormat, (Date) val); } else { @@ -409,7 +411,7 @@ { return exportExcel(list, sheetName, StringUtils.EMPTY); } /** * 对list数据源将其里面的数据导入到excel表单 * @@ -431,7 +433,6 @@ * @param list 导出数据集合 * @param sheetName 工作表的名称 * @return 结果 * @throws IOException */ public void exportExcel(HttpServletResponse response, List<T> list, String sheetName) { @@ -446,7 +447,6 @@ * @param sheetName 工作表的名称 * @param title 标题 * @return 结果 * @throws IOException */ public void exportExcel(HttpServletResponse response, List<T> list, String sheetName, String title) { @@ -823,7 +823,7 @@ String dictType = attr.dictType(); if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) { cell.setCellValue(DateUtils.parseDateToStr(dateFormat, (Date) value)); cell.setCellValue(parseDateToStr(dateFormat, (Date) value)); } else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) { @@ -1396,4 +1396,37 @@ } return sheetIndexPicMap; } /** * 格式化不同类型的日期对象 * * @param dateFormat 日期格式 * @param val 被格式化的日期对象 * @return 格式化后的日期字符 */ public String parseDateToStr(String dateFormat, Object val) { if (val == null) { return ""; } String str; if (val instanceof Date) { str = DateUtils.parseDateToStr(dateFormat, (Date) val); } else if (val instanceof LocalDateTime) { str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDateTime) val)); } else if (val instanceof LocalDate) { str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDate) val)); } else { str = val.toString(); } return str; } }