>我需要显示服务器的时区,例如GMT-03:00,如何在Java中做到这一点?
public static void main(String[] args) {
logger.error(Calendar.getInstance().getTimeZone().getTimeZone("America/Sao_Paulo"));
}
我推荐Joda-Time库在Java中使用时间。这比默认实现要好得多。
DateTimeZone zone = DateTimeZone.forTimeZone(TimeZone.getTimeZone("America/Sao_Paulo"));
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("ZZ");
System.out.println("GMT "+dateTimeFormatter.withZone(zone).print(0) +" for "+zone.toString());
将打印GMT -03:00 for America/Sao_Paulo
您可以使用
SimpleDateFormat
来获得类似的结果:
SimpleDateFormat format = new SimpleDateFormat("z XXX");
System.out.println(format.format(calendar.getTime()));
javadoc 可在此链接中找到。