2012-01-05 123 views
0

我以两种不同的格式获取日期。
1)2012-01-05
2)05/01/2012
但我希望这是以下格式。 "5 Jan 2011"转换日期

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

+0

只是参考[这里](http://javatechniques.com/blog/dateformat-and-simpledateformat-examples/)和你会得到的。 – 2012-01-05 12:59:29

+0

只需在谷歌搜索关于simpledateformat – 2012-01-05 13:01:52

+1

这不是正是你想要的,但 http://stackoverflow.com/questions/2600581/dateformat-conversion-problem-in-java/2600648#2600648可能会帮助你! – Hiral 2012-01-05 13:02:31

回答

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

这款U想吧...

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 
0

到这里看看:How to parse a date?

你必须确定,w使用hich格式并创建适当的模式。

解析日期后,你可以用另一种模式格式它,如果你需要一个字符串:

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

这应该检索所需格式的日期。简单的几行。

  String pattern = "dd MMM yyyy"; 
      SimpleDateFormat format = new SimpleDateFormat(pattern); 

      System.out.println(format.format(new Date())); 
0
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); 

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