SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") 具有 Z 日期字符串格式
使用 SimpleDateFormat 构造函数时,您已将日期格式设置为“yyyy-MM-dd'T'HH:mm:ss'Z'”。格式字符串末尾的“Z”字符表示日期/时间采用 UTC/GMT 时区。但是,您遇到了输出显示 IST 时区而不是 GMT/UTC 的问题。
出现这种情况是因为您尚未显式设置 SimpleDateFormat 对象的时区。虽然“Z”字符表示 UTC/GMT 时区中的日期,但它不会自动将日期/时间对象调整为该时区。为了确保应用正确的时区,您需要使用 setTimeZone 方法设置时区。
解决方案:
要解决此问题,您可以显式设置使用以下代码将时区转换为 GMT/UTC:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
通过显式设置时区,SimpleDateFormat 对象将准确表示 GMT/UTC 时区的日期/时间,输出将显示正确的时间。
以上是为什么 `SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'')` 显示 IST 而不是 GMT/UTC?的详细内容。更多信息请关注PHP中文网其他相关文章!