转换日期

时间:2012-01-05 12:55:56

标签: java android

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

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

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

看看这里:How to parse a date?

您必须确定使用的格式,而不是创建适当的模式。

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

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

答案 2 :(得分:0)

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

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

            System.out.println(format.format(new Date()));

答案 3 :(得分: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);

尝试此代码,它将帮助您解决问题