日期格式转换
在获取时间的时候经常会遇到比如2020年9月10日,最后返回的字符串是2020/9/10,而需求说必须转换成2020/09/10,对,个位数的日期前面需要加一个0,直接上方法:
dateline = String.format("%02d",1);
- %0 ,前面要加的数字是0;
- 2 保证最小长度为2;
- d ,整数;
------------------------------------
这个有点抽象,补充之.这是我的方法.可以交流,
下面展示一些 内联代码片
。
上代码
// An highlighted block
public static String getTransTime(String timeStr) {
DateTimeFormatter df = null;
if(!MatcherAssist.getMatcherStr(timeStr, "\\d{4}/\\d{1}/\\d{2}").isEmpty()){
df = DateTimeFormatter.ofPattern("yyyy/M/dd");
}else if(!MatcherAssist.getMatcherStr(timeStr, "\\d{4}\\/\\d{2}\\/\\d{1}").isEmpty()){
df = DateTimeFormatter.ofPattern("yyyy/MM/d");
}else if(!MatcherAssist.getMatcherStr(timeStr, "\\d{4}\\/\\d{1}\\/\\d{1}").isEmpty()){
df = DateTimeFormatter.ofPattern("yyyy/M/d");
}else{
df = DateTimeFormatter.ofPattern("yyyy/MM/dd");
}
LocalDate rq = LocalDate.parse(timeStr, df);
// LocalDateTime date = LocalDateTime.parse(timeStr, df);
DateTimeFormatter f2 = DateTimeFormatter.ofPattern("yyyy/MM/dd");
String transTime = f2.format(rq);
return transTime;
}