Android日期格式转换

时间:2013-11-13 11:35:07

标签: android date simpledateformat

我有日期和时间的价值

日期2013年= / 11/16

我想把它转换成 格式如下

像这样

“2013年11月16日,星期六”

请提前帮助我

5 个答案:

答案 0 :(得分:0)

使用

DateFormat format = android.text.format.DateFormat.getLongDateFormat(context);
format.format(date)

你得到Saturday, November 16, 2013。如果你想坚持你发布的格式,你可以按照建议使用SimpleDateFormat:

SimpleDateFormat fmt = new SimpleDateFormat("dd M yyyy, E",context.getResources().getConfiguration().locale);

答案 1 :(得分:0)

尝试像这样使用SimpleDateFormat ..

String dtStart = "2013/11/16";
SSimpleDateFormat format = new SimpleDateFormat("dd MMMM yyyy,EEEE");
try {
    date = format.parse(dtStart);
    System.out.println("Date ->" + date);
} catch (Exception e) {
    e.printStackTrace();
}

答案 2 :(得分:0)

尝试以下代码

Date now = new Date(System.currentTimeMillis());
SimpleDateFormat sdf = new SimpleDateFormat("dd MMMM yyyy, EEEE");
String date = sdf.format(now);
Log.d("Home", date);

Android Developer处阅读有关简单日期格式的详情。

答案 3 :(得分:0)

首先,您可以使用名为JodaTime的惊人日期时间库。它使Java中的所有日期时间操作变得更加容易。

使用JodaTime:

DateTime dt = DateTime.parse("2013/11/16", DateTimeFormat.forPattern("YYYY/MM/dd"));
DateTimeFormatter dtf = DateTimeFormat.forPattern("dd MMMM YYYY, EEEE");
String date = dt.toString(dtf);

答案 4 :(得分:0)

试试这个,它应该有效:

SimpleDateFormat fmt = new SimpleDateFormat("yyyy/MMdd");
            Date d;
            try {
                d = fmt.parse(st);
            } catch (ParseException e) {

                e.printStackTrace();
                return null;
            }
            SimpleDateFormat prnt = new SimpleDateFormat("dd MMM yyyy");
            String newDate=prnt.format(d)