格式化日期字符串

时间:2013-06-25 13:45:19

标签: java android date

我有一个这样的字符串:

"2013-06-25 10:00:09"

我想将其格式化为:

"25/06/2013 10:00"

我正在尝试这个:

SimpleDateFormat sdf = new SimpleDateFormat(""dd/MM/yyyy kk:mm"")
    Date d;

    try {
        d = sdf.parse(data_publicao_db[totalCount_ + i]);
        String s2 = (new SimpleDateFormat("yyyyMMdd")).format(d);
        Log.d("Data test", "" + s2);
    }
    catch (ParseException e) { e.printStackTrace(); }

但它一直在提供

ParseException: Unparseable date

有更好的正确方法吗?

3 个答案:

答案 0 :(得分:5)

sdf应该是

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

您需要重新格式化日期的其他SimpleDateFormat:

new SimpleDateFormat("dd/MM/yyyy HH:mm")

答案 1 :(得分:1)

我们走吧!

//your date String and SDF in your String format
String originalDateString = "2013-06-25 10:00:09";
SimpleDateFormat originalSdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

//get the Date from the String
Date date = originalSdf.parse(originalDateString);

//Wanted output format
SimpleDateFormat wantedSdf= new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

//print it
System.out.println(wantedSdf.format(date));

答案 2 :(得分:1)

由于data_publicao_db[totalCount_ + i]看起来像2013-06-25 10:00:09,因此您必须使用 yyyy-MM-dd HH:mm:ss 的格式对其进行解析。

要将结果转换为25/06/2013 10:00格式,您必须使用SimpleDateFormat格式化格式 dd / MM / yyyy HH:mm