注: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);
}