试图解析Javas Date toString函数生成的日期

时间:2016-07-25 16:03:02

标签: java date parsing

我正在尝试将Java的toString()函数生成的日期转换回日期对象。但是这种行为与我的期望不符。

我尝试过以下代码:

public static void main(String[] args) {
    SimpleDateFormat sdfDate = new SimpleDateFormat("E MMM dd HH:mm:ss zzz YYYY");
    Date now = new Date();
    String strDate = sdfDate.format(now);

    try {
        System.out.println(strDate+"\n"+sdfDate.parse(strDate).toString());
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

然而,当我运行上面的内容时,我得到以下输出:

Mon Jul 25 16:58:04 BST 2016
Mon Jan 04 15:58:04 GMT 2016

我理解为什么时区正在恢复到格林威治标准时间,但是我对其对月和日的解释感到困惑。我假设我在日期格式字符串中弄乱了一些东西,但我不知道是什么。

我也尝试过“EEE MMM dd HH:mm:ss zzz YYYY”,但我也有同样的行为。谁能告诉我,我做错了什么?

0 个答案:

没有答案