以下のルーチンを使用して、日付をyyyyMMddHHmm
フォーマットで検証しています。このルーチンは、hour = 02を除くすべての場合に機能します。たとえば、次の場合に機能201203110000
し201203110100
ます201203112300
。
私は何が欠けていますか?これはSimpleDateFormatの有効なバグですか、それともクラスが正しく機能するように形式を明示的に設定する必要がありますか。JDK1.6.0_24を使用しています。
public static void main(String[] args)
{
SimpleDateFormat dateUtil = new SimpleDateFormat();
Date parsedDT = null;
String dateVal = "201203110200";
String dateFormat = "yyyyMMddHHmm";
dateUtil.applyPattern(dateFormat);
try
{
parsedDT = dateUtil.parse(dateVal);
if (!dateUtil.format(parsedDT).equals(dateVal))
{
System.err.println("error");
}
else
{
System.err.println("pass");
}
}
catch (Exception exp)
{
exp.printStackTrace();
}
}