将字符串转换为日期格式以添加到字符串数组列表

Converting String to date format to add to string arraylist

我从我的 SQLite 数据库中获取以下日期,该日期被下拉为以下格式的字符串 '03-07-2015'。

我希望这种格式像这样显示 'Fri 3rd July 2015' 我正在使用 SimpleDateFormat 执行此操作,然后我需要将其传递到 ArrayList 中,我无法让它正常工作,对我正在做的事情有任何建议错误将不胜感激。

String dayNumberSuffix = getDayOfMonthSuffix(3);
SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd'" + dayNumberSuffix + "' MMMM yyyy");
String d = sdf.format(cursor.getString(1));
dates.add(d); // ArrayList<String>

String getDayOfMonthSuffix(final int n) {
    switch (n % 10) {
        case 1:  return "st";
        case 2:  return "nd";
        case 3:  return "rd";
        default: return "th";
    }
}

我尝试了几种不同的变体,但我认为上面的变体最接近。

您需要在解析 03-07-2015 中解析从数据库中获取的日期并对其进行格式化:

String dayNumberSuffix = getDayOfMonthSuffix(3);
SimpleDateFormat parseSDF = new SimpleDateFormat("dd-MM-yyyy");

SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd'" + dayNumberSuffix + "' MMMM yyyy");
Date date = parseSDF.parse(cursor.getString(1));
String d = sdf.format(date);
dates.add(d); // ArrayList<String>

应该做