Формат даты JAVA
Я хочу отформатировать 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)`
Как я могу это сделать?
Ответы
Ответ 1
Здесь это работает:
- Удалите лишний "T" в вашем первом шаблоне
- Второй формат неверен, он должен быть dd-MMM-yyyy.
Взгляните на Javadoc SimpleDateFormat
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();
}
}
}
Ответ 2
Я думаю, что если вы удалите 'T'
, он будет работать.
Ответ 3
Используя этот шаблон:
sdf.applyPattern("DD-MMM-YYYY");
Не используйте это:
sdf.applyPattern("DD-MON-RR");
Ответ 4
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();
}
Ответ 5
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));
}