我有一个格式为2019-01-01T18:46:19
的日期字符串,我想将其转换为格式06:46 pm AEST 01/01/19
,缩写为澳大利亚时区。我怎么能用Java做到这一点?
答案 0 :(得分:2)
您可以使用较新的java.time
API执行此任务:
import java.time.LocalDateTime;
import java.time.ZonedDateTime;
import java.time.ZOneId;
import java.time.format.DateTimeFormatter;
ZoneId zone = ZoneId.of("Australia/Sydney");
LocalDateTime ldt = LocalDateTime.parse("2019-01-01T18:46:19") ;
ZonedDateTime zdt = ZonedDateTime.of(ldt, zone);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("hh:mm a z dd/MM/yy");
System.out.println(dtf.format(zdt));
输出:
06:46 PM AEDT 01/01/19
注意:您的问题中的格式不明确,无论您是想要日/月/年还是美国月/日/年,但我会假设澳大利亚更喜欢日/月/年。