Я пытаюсь переформатировать строку даты с помощью sdf. SDF уменьшает дату на день. Указатели были бы полезны.Java SimpleDateFormat декрементирует дату на один день
java version "1.8.0_31" Вход: ChangeDateStringFormat ("10-Mar-2015");
Код:
public static String ChangeDateStringFormat (String Input) throws InterruptedException
{
System.out.print("Input Date inside ChangeDateStringFormat : " + Input);
SimpleDateFormat sdf = new SimpleDateFormat("MMM-dd-yyyy");
sdf.setTimeZone(TimeZone.getTimeZone("MST"));
System.out.print(" || Output Date inside ChangeDateStringFormat : " + sdf.format(new Date(Input)) + "\n");
return sdf.format(new Date(Input));
}
Выход Фактическое:
Input Дата внутри ChangeDateStringFormat: 10-Mar-2015 || Выход Дата внутри ChangeDateStringFormat: Mar-09-2015
Выход я Ожидая:
Input Дата внутри ChangeDateStringFormat: 10-Mar-2015 || Выход Дата внутри ChangeDateStringFormat: Mar-10-2015
В стороне, пожалуйста, следуйте соглашениям об именах Java. Это действительно снижает когнитивный диссонанс. –
Используйте java.util.Calendar, чтобы описать дату. – Jens
Поскольку вы используете Java 8, используйте новый API даты/времени, пожалуйста! – fge