joda.time 中是否有任何函数可以验证字符串是否代表正确的时区,如果格式不正确则抛出异常?
我知道 TimeZone.getAvalibaleIDs() 但只是想知道是否有任何预定义函数。
最佳答案
DateTimeZone.forID()
如果无法识别 ID,将抛出异常。
如果您尝试获取实际区域,这是合适的 - 如果您只是尝试验证 ID 是否有效,我会使用 getAvailableIDs()
:
boolean valid = DateTimeZone.getAvailableIDs().contains(id);
就避免使用异常进行流量控制而言,IMO 更好。但是,它们不是等效的 - 固定偏移时区 ID 在 DateTimeZone.forID()
中有效,但可能不包含在可用 ID 集中。
关于java - 在 Java 中验证时区并抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14325146/