我试图将包含日期的字符串解析为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
我猜测时区存在一些问题。任何帮助表示赞赏。
答案 0 :(得分:5)
因为2017年12月3日是星期日,而不是星期一。你可能在错误的一年看到了错误的一年,2013年是在一个星期一。