我目前对 SimpleDateFormatter 的以下简单用法感到困惑:
import java.text.ParseException;
import java.text.SimpleDateFormat;
public static void main(String[] args) throws ParseException {
System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX").parse("2018-12-04T22:22:01+1000"));
}
我使用 JDK 1.8.0_192 运行此示例。
我的电脑位于 CET (+1000),因此时区相同。所以预期的结果是:
Tue Dec 04 22:22:01 CET 2018
但我得到以下输出:
Tue Dec 04 13:22:01 CET 2018
有人知道这里发生了什么吗?
最佳答案
您输入 2018-12-04T22:22:01+1000
,即 UTC 格式的 2018-12-04T12:22:01
。虽然 CET 比 UTC 早 1 小时,所以您得到的是 13
小时。
关于java - SimpleDateFormat - 解析日期时出现奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53614582/