转换日期

我以两种不同的格式获得约会。
1) 2012-01-05
2) 05/01/2012
但我希望这是以下格式。 "5 Jan 2011"

现在我有String d1="2012-01-05"String d2="2012-01-05".

 SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy"); String now = formatter.format(new Date()); 

你想要对…

要么

 String oldString = "2009-12 Dec"; Calendar calendar = Calendar.getInstance(); calendar.setTime(new SimpleDateFormat("yyyy-MM").parse(oldString)); // Yes, month name is ignored but we don't need this. calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE)); String newString = new SimpleDateFormat("dd-MMM-yyyy").format(calendar.getTime()).toUpperCase(); System.out.println(newString); // 31-DEC-2009 

看看这里: 如何解析约会?

您必须确定使用哪种格式,然后创建适当的模式。

解析日期后,如果需要字符串,可以使用其他模式对其进行格式化:

 SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy"); String now = formatter.format(new Date()); 
 String d1 = "2012-01-05"; String d2 = "05/01/2012"; SimpleDateFormat curFormater1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat curFormater2 = new SimpleDateFormat("dd/MM/yyyy"); Date dateObj1 = null; Date dateObj2 = null; try { dateObj1 = curFormater.parse(d1); dateObj2 = curFormater.parse(d2); } catch (ParseException e) { e.printStackTrace(); } SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy"); String date_new1 = formatter.format(d1); String date_new2 = formatter.format(d2); 

试试这个代码它会帮助你解决你的问题

这应该以您想要的格式检索日期。 简单的几行。

  String pattern = "dd MMM yyyy"; SimpleDateFormat format = new SimpleDateFormat(pattern); System.out.println(format.format(new Date()));