如何在JAVA中从String获取Timezone

时间:2014-07-28 23:09:15

标签: java timezone jodatime

我输入了“+04:00”

我可以用什么API来获取时区?


到目前为止, 1)我调查了joda - https://www.joda.org/joda-time/apidocs/org/joda/time/DateTimeZone.html

   static DateTimeZone forOffsetHoursMinutes(int hoursOffset, int minutesOffset) 

不确定这是否理想。

2)我检查了Timezone类。

http://docs.oracle.com/javase/6/docs/api/java/util/TimeZone.html#getTimeZone%28java.lang.String%29

 getTimeZone

public static TimeZone getTimeZone(String ID)

    Gets the TimeZone for the given ID.

    Parameters:
        ID - the ID for a TimeZone, either an abbreviation such as "PST", a full name such as "America/Los_Angeles", or a custom ID such as "GMT-8:00". Note that the support of abbreviations is for JDK 1.1.x compatibility only and full names should be used. 
    Returns:
        the specified TimeZone, or the GMT zone if the given ID cannot be understood.

有人可以解释如何将自定义ID作为此功能的输入吗?

1 个答案:

答案 0 :(得分:3)

http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html

TimeZone类中有一个名为getTimeZone(String id)的方法,您可以在其中传入一个String,类似于"GMT-04:00"。你应该检查一下。

请确保您尝试了一些示例并确保正确使用它。其中一些默认方法需要特定的格式。