解析时间,我下一个日期时间表示为字符串:"2015-08-21T22:00:00Z"
如果我尝试用SimpleDateFormat的解析它没有设置时区,我收到奇怪的值:为什么SimpleDateFormat的需要时区设置为UTC
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
sdf.parse("2015-08-21T22:00:00Z") // Fri Aug 21 22:00:00 CEST 2015
它看起来像它会忽略Z - UTC指示符。 在另一方面,当我设置GMT时间eveything按预期工作:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
sdf.setTimeZone(TimeZone.getTimeZone("GMT"))
sdf.parse("2015-08-21T22:00:00Z") // Sat Aug 22 00:00:00 CEST 2015
为什么它是那样的工作?为什么我需要为SimpleDateFormat设置时区,即使该字符串包含UTC指示符?
@Tunaki:这实际上是答案。随意发布它:-)。 – sleske