我从我的SQLite数据库中获取以下日期,该数据库按以下格式下拉为字符串' 03-07-2015'。
我希望此格式能够像这样显示2015年7月3日星期五'我正在使用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";
}
}
我尝试了一些不同的变体,但我相信上面的变体最接近。
答案 0 :(得分:2)
您需要解析您从数据库获取的解析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>
应该这样做