フォーマットしたい2012-05-04 00:00:00.0
から04-MAY-2012
。以下の手順で試しました。
SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy-MM-dd 'T' HH:mm:ss.SSS");
Date date;
String dateformat = "";
try {
date = sdf.parse("2012-05-04 00:00:00.0");
sdf.applyPattern("DD-MON-RR");
dateformat = sdf.format(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
しかし、私は例外の下になりました。
Java.text.ParseException: Unparseable date: "2012-05-04 00:00:00.0"
at Java.text.DateFormat.parse(DateFormat.Java:337)
at com.am.test.Commit.main(Example.Java:33)`
どうすればこれを行うことができますか?
ここで、これは機能します:
SimpleDateFormat のJavadocを見てください。
import Java.text.ParseException;
import Java.text.SimpleDateFormat;
import Java.util.Date;
public class temp2 {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date;
String dateformat = "";
try {
date = sdf.parse("2012-05-04 00:00:00.0");
sdf.applyPattern("dd-MMM-yyyy");
dateformat = sdf.format(date);
System.err.println(dateformat);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
'T'
を削除すればうまくいくと思います。
このパターンを使用する:
sdf.applyPattern("DD-MMM-YYYY");
これを使用しないでください:
sdf.applyPattern("DD-MON-RR");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
Date date;
String dateformat = "";
try {
date = sdf.parse("2012-05-04 00:00:00.0");
sdf.applyPattern("dd-MMM-yyyy");
dateformat = sdf.format(date);
System.out.println(dateformat);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
Date oldFormatedDate = null;
try {
oldFormatedDate = sdf.parse("2012-05-04 00:00:00.0");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(new SimpleDateFormat("dd-MMM-yyyy").
format(oldFormatedDate));
}