在Android上,我需要解析包含短时区名称的时间戳字符串,例如2013-08-16 17:36 PDT
。我使用正则表达式而不是SimpleDateFormat,因为输入字符串可以有可选的秒和毫秒。
除了时区解析之外,一切正常:我无法弄清楚如何查找时区。 TimeZone.getTimeZone()
明确不支持短时区名称,如“PDT”。但我知道短名称在系统中,因为SimpleDateFormat可以识别上面的字符串(格式为yyyy-MM-dd HH:mm Z
)。
我认识到存在一些模糊的时区名称(如“CST”),因此使用短名称通常不够健壮。尽管如此,我需要解析这些时间戳。
有没有办法从Android上的短时区名称查找TimeZone对象(或GMT偏移)?