【发布时间】:2013-11-11 18:37:50
【问题描述】:
我需要显示服务器的时区,例如 GMT-03:00,我如何在 Java 中做到这一点?
public static void main(String[] args) {
logger.error(Calendar.getInstance().getTimeZone().getTimeZone("America/Sao_Paulo"));
}
【问题讨论】:
-
您发布了一些代码。它是否有效?如果不是您所期望的,请告诉我们它的作用
-
GMT-03:00 并不是真正的时区 - 这只是偏移量,它可能会随着时间而改变。看
TimeZone.getDefault() -
这里看不到任何 R 内容。
-
我需要打印时区,例如-03:00,我进行各种测试并打印 sun.util.calendar.ZoneInfo[id="America/Sao_Paulo",offset=-10800000,dstSavings=3600000 ,useDaylight=true,transitions=129,lastRule=java.util.SimpleTimeZone[id=America/Sao_Paulo,offset=-10800000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=9,startDay= 15,startDayOfWeek=1,startTime=0,startTimeMode=0,endMode=3,endMonth=1,endDay=15,endDayOfWeek=1,endTime=0,endTimeMode=0]]
-
这是在服务器上运行的吗?我很困惑为什么你得到的是 America/Sao_Paulo 的时区,而不是本地系统的默认时区。