java - 在 Java 中验证时区并抛出异常

标签 java timezone jodatime

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/

相关文章:

php - 在PHP中使用系统的时区设置

java - Joda Time 从 MutableDateTime 实例中减去 24 小时,我想知道为什么

java - Java中字符串转换为时间戳时添加夏令时

java - 从 JdbcTemplate 中的 ResultSet 获取 DateTime

java - Gson 嵌套对象

java - 什么是 `spring-boot-starter` jar ?

java - 随时取消从另一个线程下载文件

java - 在 reduce 函数的参数中将 HashSet<Text> 作为 Iterable<Text> 传递 - HADOOP

timezone - IBM 与 Oracle/Sun JDK,java.util.Timzone getOffset () 的行为不同

java - 从 Instant 和 ZoneId 形成 ZonedDateTime 时的预期行为是什么?