字符串日期转换成指定格式日期
注:JAVA8及以上的版本
第一步:转成LocalDate标准格式yyyy-mm-dd
第二步:格式化成指定格式
例子:yyyyMMdd转yyyy/MM/dd格式
数据过程:yyyyMMdd=>yyyy-MM-dd=>yyyy/MM/dd
final String date = "20220401";
final DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyyMMdd");
final DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy/MM/dd");
第一步:转成LocalDate标准格式yyyy-mm-dd ↓
final LocalDate localDate1 = LocalDate.parse(date, dtf1);//2022-04-01
第二步:格式化成指定格式 ↓
final String dateStr = localDate1.format(dtf2);//2022/04/01
※带时间的日期和不带时间的日期转换的方针思路一样
/**
* 获得日本当前时间, uu/MM/dd HH:mm形式
*/
private String getCurrentTime() {
/** 日本的ZoneId */
final ZoneId ZONE_ID_TOKYO = ZoneId.of("Asia/Tokyo");
final String PATTERN_UU_MM_DD_HH_MM = "uu/MM/dd HH:mm";
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern(PATTERN_UU_MM_DD_HH_MM).withResolverStyle(ResolverStyle.STRICT);
final LocalDateTime currentTime = LocalDateTime.now(ZONE_ID_TOKYO);
return currentTime.format(formatter);
}