【问题标题】:Print timezone of server打印服务器时区
【发布时间】: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 的时区,而不是本地系统的默认时区。

标签: java datetime timezone


【解决方案1】:

我推荐 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

【讨论】:

    【解决方案2】:

    您可以使用SimpleDateFormat 来获得类似的结果:

    SimpleDateFormat format = new SimpleDateFormat("z XXX");
    System.out.println(format.format(calendar.getTime()));

    javadoc 可用in this link

    【讨论】:

    • 线程“主”java.lang.IllegalArgumentException 中的异常:java.text.SimpleDateFormat.compile(SimpleDateFormat.java:696) 处的 java.text.SimpleDateFormat.initialize( SimpleDateFormat.java:515) 在 java.text.SimpleDateFormat.(SimpleDateFormat.java:464) 在 java.text.SimpleDateFormat.(SimpleDateFormat.java:445) 在
    • SimpleDateFormat 格式 = new SimpleDateFormat("z XXX"); System.out.println(format.format(calendar.getTime()));
    • 你用的是什么JVM?它是什么版本?
    • 模式“X”仅适用于 Java 7。如果您使用的是 Java 6,请参阅 this javadoc
    • 试试SimpleDateFormat format = new SimpleDateFormat("z ZZZ"); 会产生类似的结果。
    猜你喜欢
    • 2013-04-04
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    相关资源
    最近更新 更多