Я пытаюсь преобразовать строку даты ввода в формат даты, а затем в формат даты и времени. В качестве теста я дал неверный формат даты, но это, похоже, не бросает никаких исключений синтаксического разбора и не дает мне неправильного вывода. Любые мысли о том, что мой код ниже делает неправильно?Неверная формулировка даты
String OLD_FORMAT ="MM/dd/yyyy";
String NEW_FORMAT ="yyyyMMdd HHmmss";
SimpleDateFormat sdf = new SimpleDateFormat(OLD_FORMAT);
String oldDateString = "03/01211/2012"; //Incorrect input
Date myOldDate;
Datetime myNewDate;
try {
myOldoldDate = sdf.parse(oldDateString);
//Returns Wed Jun 24 00:00:00 IST 2015...why??
//Shouldn't this be throwing a parse exception?
} catch (ParseException e) {
logger.error("Error while parsing Date");
}
sdf.applyPattern(NEW_FORMAT);
//Converting date to datetime format
try {
myNewDate= DateHelper.toDatetime(sdf.parse((sdf.format(myOldDate))));
//Returns 2015-06-24 00:00:00.0
} catch (ParseException e) {
logger.error("Error while parsing Date");
}
Можете ли вы попробовать 'sdf.setLenient (false)'? – Thilo
Просто сделал и исправил проблему –
@Thilo Yeah..I могу попробовать это, но в чем его цель? Извините, новичок в Java, вот почему :) – user656523