2013-06-01 3 views
3

Я пытаюсь проанализировать строку, содержащую дату, в объект Date. Но по некоторым причинам я получаю день раньше в день недели.java date conversion дает один день недели

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; 
} 

Когда "строка" Строка содержит

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

преобразование возвращает

Sun Dec 03 03:21:31 IST 2017 

Я предполагаю, есть некоторая проблема с часовыми поясами. Любая помощь оценивается.

ответ

5

Потому что треть декабря 2017 года - это воскресенье, а не понедельник. Вероятно, вы смотрите на неправильный год, в 2013 году он был в понедельник.

+0

Я использовал утилиту для генерации дат. Кажется, что в ней есть ошибка, может быть, она не учитывала предмет високосного года. Благодаря :) –

Смежные вопросы