带有“yyyy-MM-dd'T'HH:mm:ss'Z'”的 SimpleDateFormat 不会自动设置时区
Java SimpleDateFormat 构造函数:
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
本身不设置时区。在日期/时间字符串末尾添加“Z”仅表示 GMT/UTC 时区,但实际上并不会更改底层日期/时间值。
确保解析的日期/时间为 GMT/UTC,必须显式设置时区。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); sdf.setTimeZone(TimeZone.getTimeZone("GMT")); Date date = sdf.parse("2013-09-29T18:46:19Z");
通过将时区设置为 GMT,解析出的日期/时间将转换为 GMT 并正确显示。
以上是`SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'')` 是否自动处理时区?的详细内容。更多信息请关注PHP中文网其他相关文章!