一、DateUtil
1、格式化日期输出
Date date = new Date();
//结果 2024/07/03
String format = DateUtil.format(date, "yyyy/MM/dd");
System.err.println(format);
//常用格式的格式化,结果:2024-07-03
String formatDate = DateUtil.formatDate(date);
//结果:2024-07-03 11:42:55
String formatDateTime = DateUtil.formatDateTime(date);
//结果:11:42:55
String formatTime = DateUtil.formatTime(date);
2、字符串转日期
String dateStr = "2017-03-01";
Date date = DateUtil.parse(dateStr);
##结果 2017-03-01 00:00:00
3、开始和结束时间
//一天的开始,结果:2017-03-01 00:00:00
Date beginOfDay = DateUtil.beginOfDay(date);
//一天的结束,结果:2017-03-01 23:59:59
Date endOfDay = DateUtil.endOfDay(date);
4、日期时间偏移
String dateStr = "2017-03-01 22:33:23";
Date date = DateUtil.parse(dateStr);
//结果:2017-03-03 22:33:23
Date newDate = DateUtil.offset(date, DateField.DAY_OF_MONTH, 2);
//常用偏移,结果:2017-03-04 22:33:23
DateTime newDate2 = DateUtil.offsetDay(date, 3);
//常用偏移,结果:2017-03-01 19:33:23
DateTime newDate3 = DateUtil.offsetHour(date, -3);
5、日期时间差
String dateStr1 = "2017-03-01 22:33:23";
Date date1 = DateUtil.parse(dateStr1);
String dateStr2 = "2017-04-01 23:33:23";
Date date2 = DateUtil.parse(dateStr2);
//相差一个月,31天
long betweenDay = DateUtil.between(date1, date2, DateUnit.DAY);
6、日期范围
// 区间 返回[2017-01-01 00:00:00, 2017-01-02 00:00:00, 2017-01-03 00:00:00]
DateTime date1 = DateUtil.parse("2017-01-01");
DateTime date2 = DateUtil.parse("2017-01-03");
List<DateTime> rangeToList = DateUtil.rangeToList(date1 , date2, DateField.DAY_OF_YEAR);
二、ExcelUtil
读取文件,获取数据,ExcelReader.readAll()方法默认标题栏下一行开始读取;也可以用ExcelReader.read()自己设置读取开始行
private List<ClassInsureVO> readExcel(MultipartFile file) throws IOException {
ExcelReader reader = ExcelUtil.getReader(file.getInputStream());
List<Map<String, Object>> mapList = reader.readAll();
if (mapList.isEmpty()) {
return Collections.emptyList();
}
List<ClassInsureVO> list = new ArrayList<>();
for (Map<String, Object> map : mapList) {
ClassInsureVO entity = new ClassInsureVO();
String product = (String) map.get("产品");
entity.setProduct(product);
entity.setCategories((String) map.get("大类"));
entity.setSubCategories((String) map.get("小类"));
list.add(entity);
}
return list;
}
将错误信息写回到文件中
File inputFile = new File("aaa.xls");
ExcelWriter writer = ExcelUtil.getWriter(inputFile);
writer.writeCellValue(4, 5, errorMessage);// 第4列,第5行,添加错误信息
writer.flush(inputFile);
writer.close();