java日期转换提供了一周中的一天

时间:2013-06-01 13:40:28

标签: java simpledateformat

我试图将包含日期的字符串解析为Date对象。但由于某些原因,我在一周的某一天早些时候得到了一天。

private Date lineToDate(String line)
{
    Date date = new Date();
    try
    {
        DateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy");
        sdf.setTimeZone(TimeZone.getTimeZone("IST"));
        date = sdf.parse(line);
        System.out.println(date.toString());
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return date;
}

当字符串“line”包含

"Mon Dec  3 03:21:31 2017 500 586 /" 

转化返回

Sun Dec 03 03:21:31 IST 2017

我猜测时区存在一些问题。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:5)

因为2017年12月3日是星期日,而不是星期一。你可能在错误的一年看到了错误的一年,2013年是在一个星期一。