更改日期格式2014-11-26(yyyy-mm-dd)到11月26,2014在android?

时间:2014-11-26 13:08:57

标签: android date

我可以将我的日期格式2014-12-09更改为MMM dd,yyyy(12月09,2014喜欢这个。)但它显示2014年1月9日而不是12月09,2014。如何显示Dec 09,2014? 请指导我。

我的代码是,

String strStartDate = "2014-12-09";

            readFormat = new SimpleDateFormat("yyyy-mm-dd");
            writeFormat = new SimpleDateFormat("MMM dd,yyyy");

            try {
                startDate = readFormat.parse(strStartDate);
            } catch (ParseException e) {
                e.printStackTrace();
            }

            viewHolder.txtStartDate
                    .setText(writeFormat.format(startDate));

提前致谢。

3 个答案:

答案 0 :(得分:6)

尝试使用以下代码:

String date = "2014-11-25";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
Date testDate = null;
try {
    testDate = sdf.parse(date);
}catch(Exception ex){
    ex.printStackTrace();
}
SimpleDateFormat formatter = new SimpleDateFormat("MMM dd,yyyy");
String newFormat = formatter.format(testDate);
System.out.println(".....Date..."+newFormat);

答案 1 :(得分:4)

格式化代码以获取所有日期类型。您需要在参数中传递它的3件事是 dateStr ,dateStr格式是 strReadFormat ,您在输出中所需的堡垒是 strWriteFormat

public String getFormattedDate(String dateStr, String strReadFormat, String strWriteFormat) {

    String formattedDate = dateStr;

    DateFormat readFormat = new SimpleDateFormat(strReadFormat, Locale.getDefault());
    DateFormat writeFormat = new SimpleDateFormat(strWriteFormat, Locale.getDefault());

    Date date = null;

    try {
        date = readFormat.parse(dateStr);
    } catch (ParseException e) {
    }

    if (date != null) {
        formattedDate = writeFormat.format(date);
    }

    return formattedDate;
}

Log.v("Changed date",getFormattedDate("2014-11-26", "yyyy-mm-dd", "MMM dd,yyyy"));

答案 2 :(得分:1)

String t = "2014-11-26";

// To parse input string
SimpleDateFormat from = new SimpleDateFormat("yyyy-mm-dd", Locale.US);

// To format output string
SimpleDateFormat to = new SimpleDateFormat("MMMM dd, yyyy", Locale.US);

String res = to.format(from.parse(t));