SimpleDateFormat parse()给出了错误的结果

时间:2011-08-16 08:29:52

标签: java

Dfault TimeZone GMT-3.00。 我正在使用SimpleDateFormat的parse方法解析新的Date(“1900/01/01”)。toString。

我得到的结果是 Sun Dec 31 23:15:16 UYT 1899 代替 Mon Jan 01 00:00:00 UYT 1900

我无法理解为什么结果不同。

PS:如果我将TimeZone更改为GMT +5.30,结果与预期一致。

2 个答案:

答案 0 :(得分:7)

根据UYT timezone changes at timeanddate.com,UYT时区在1920年之前是UTC-3.44.44,而不是UTC-3.00,因此您的结果看起来是正确的。

答案 1 :(得分:1)

你正在使用这段代码吗?

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/dd/MM");
    System.out.println(sdf.parse("1900/01/01"));

也许你的符号错了......