0

我有一个这样的字符串:

"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

有没有更好更正确的方法呢?

4

3 回答 3

5

自卫队应该是

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

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

new SimpleDateFormat("dd/MM/yyyy HH:mm")
于 2013-06-25T13:46:49.767 回答
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));
于 2013-06-25T13:49:14.587 回答
1

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

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

于 2013-06-25T13:51:18.883 回答