私はこの方法を持っています:
public Date parseDate(String dateStr) {
try {
SimpleDateFormat sdfSource = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S z");
return sdfSource.parse(dateStr);
}
catch(Exception e) {
throw new RuntimeException("Error occurred while parsing date: " + dateStr);
}
}
そして、以下のように私の単体テスト:
public void testEDTDate() throws Exception {
DateFormatConverter converter = new DateFormatConverter();
Date date = converter.parseDate("2009-09-15 15:28:20.0 EDT");
System.out.println("Converted Date: " + date.toString());
}
出力は次のとおりです。
Wed Sep 16 02:28:20 ICT 2009
これにより、単体テストが失敗します。期待される結果は次のとおりです。
Tue Sep 15 15:28:20.0 EDT 2009
秒が欠落している場合、出力の形式も間違っています。期待どおりに日付を表示するにはどうすればよいですか?