入力日付文字列を日付書式に変換してから日時書式に変換しようとしています。 テストとして、不正な日付書式を入力しましたが、これは例外を解析していないようで、間違った出力をしています。私の下のコードが間違っていることについての考えはありますか?日付を正しく解析できません
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ええ。私はそれを試みることができますが、その目的は何ですか?申し訳ありません、Javaの新しい理由that :) – user656523