实现思路有两种方案_最终拿到的效果都是一样的
方案一
- 表格传过来的日期是字符串格式,可以使用字符的截取功能
- 具体实现如下
endDateStr=”2021/9/1“;
String[] split1 = endDateStr.split("/");
List<String> strings1 = Arrays.asList(split1);
String year1 = strings1.get(0);
String month1 = strings1.get(1);
String day1 = strings1.get(2);
if(month1.length()==1){
month1 = "0" + month1;
}
if(day1.length() == 1){
day1 = "0" + day1;
}
String endDateStr1 = year1 + "/" + month1 + "/" + day1;
Sysytem.out.println(endDateStr)
方案二:
- 将传过来的字符串日期转换成日期,再将日期转换成字符串(推荐使用)
- 这里有date日期和LocalDate日期。分别实现如下
- Date
private String parseDate(String data){
Date parse;
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
parse =simpleDateFormat.parse(data);
return simpleDateFormat.format(parse);
} catch (ParseException e) {
throw new BizException("Date formatting failed");
}
}
- LocallDate
public String dateTest(){
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy/MM/d");
LocalDateTime parse = LocalDate.parse("2021/10/1", dateTimeFormatter).atStartOfDay();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy/MM/dd");
String localTime = df.format(parse);
System.out.println(localTime);
}