日期格式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(); }
但我得到了以下exception。
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)`
我怎么能这样做?
在这里,这工作:
- 删除第一个模式中的额外“T”
- 第二种格式不正确,应该是dd-MMM-yyyy。
看一下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");
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)); }
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(); }