2つの日付の間に作成されたアカウントのリストを取得するために、Active Directoryから日付値(createWhen)を取得し、それをJavaの日付に変換する作業を行っています。すべてが正常に機能しています。1つのメソッドを除いて、AD日付からJava日付に移動するメソッドです。メソッドは次のようになります。
private Date getParsedDate(String givenString) {
System.out.println("Value from AD is: " + givenString);
Date parsedDate = null;
String formattedString = this.formatDateString(givenString);
System.out.println("Formatted String is: " + formattedString);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/DD");
try {
parsedDate = sdf.parse(formattedString);
System.out.println("Final date string is: " + parsedDate.toString());
} catch (ParseException ex) {
ex.printStackTrace();
}
return parsedDate;
}
そして、ADからの任意のデータの単一の部分について:
Value from AD is: 20050912190509.0Z
Formatted String is: 2005/09/12
Final date string is: Wed Jan 12 00:00:00 EST 2005
明らかに、それは日と年を正しくピックアップしています(そして、私が時間/分/秒を含めることを選択した場合、それらも正しく含まれます)が、すべての日付は何らかの理由で1月に配置されています。
さて、私のエラーはかなり単純なものだと確信していますが、フォーマットを約10回再確認したところ、もう表示できなくなっています。うまくいけば、2番目の目で私のコードを調べて、月がひどく間違っているのにどこが間違っているのかを指摘できますか?
ありがとう。