解析時間,我下一個日期時間表示爲字符串:"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