Get the time in the current specified time zone - based on Java8

Implementation based on Java8:

String zone = "Asia/Shanghai";
ZoneId zoneId = ZoneId.of(zone);//获取时区Id
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE.withZone(zoneId);//以1970-01-01的形式格式化时间
String formatStr = formatter.format(ZonedDateTime.now());//格式化当前的时间为字符串

List of supported time zones:

TreeSet<String> sortedZones = new TreeSet<>(ZoneId.getAvailableZoneIds());
System.out.println("Number of zones: " + sortedZones.size());
System.out.println("---------------");
for (String zone : sortedZones) {
    System.out.println(zone);
}

Preset formats supported by DateTimeFormatter:

https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

 

Guess you like

Origin blog.csdn.net/bbandxq521/article/details/103535168