2

我正在尝试将包含日期的字符串解析为 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

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

4

1 回答 1

5

因为 2017 年 12 月 3 日是星期日,而不是星期一。你可能看错了年份,2013 年是星期一。

于 2013-06-01T13:45:16.890 回答