如何将日期格式化为Java中缩写时区的格式?

时间:2018-06-09 03:16:00

标签: java android date datetime time

我有一个格式为2019-01-01T18:46:19的日期字符串,我想将其转换为格式06:46 pm AEST 01/01/19 ,缩写为澳大利亚时区。我怎么能用Java做到这一点?

1 个答案:

答案 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

注意:您的问题中的格式不明确,无论您是想要日/月/年还是美国月/日/年,但我会假设澳大利亚更喜欢日/月/年。