在我的应用程序中,我以特定格式(由PHP生成)从数据库检索日期。
我想在我的Android应用程序中显示一种特定的输出格式,如下所示:
如果日期是今天,则我想以以下格式显示: "今天-17:50"
如果日期是昨天,则我想以以下格式显示: "昨天-17:50"
对于其他日期,我想以以下格式显示: "6月5日-17:50"
我该怎么做?
[更新]
我想在我的Android应用程序中显示一种特定的输出格式,如下所示:
如果日期是今天,则我想以以下格式显示: "今天-17:50"
如果日期是昨天,则我想以以下格式显示: "昨天-17:50"
对于其他日期,我想以以下格式显示: "6月5日-17:50"
我该怎么做?
[更新]
String dateDebut = annonce.getDate_debut();
SimpleDateFormat inDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // inputFormat
SimpleDateFormat TodayDF = new SimpleDateFormat("HH'h'mm"); //OutputFormat For today and yesterday
SimpleDateFormat FullDF = new SimpleDateFormat("dd MMM - HH'h'mm"); //Outputformat long
Date inDate = null;
try {
inDate = inDF.parse(dateDebut);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//calendar for inputday
Calendar inCal = new GregorianCalendar();
inCal.setTime(inDate);
//startOfToday
Calendar cStartOfDate = new GregorianCalendar();
cStartOfDate.set(Calendar.HOUR, 0);
cStartOfDate.set(Calendar.MINUTE, 0);
cStartOfDate.set(Calendar.SECOND, 0);
cStartOfDate.set(Calendar.MILLISECOND, 0);
//endOfToday
Calendar cEndOfDate = new GregorianCalendar();
cEndOfDate.set(Calendar.HOUR, 23);
cEndOfDate.set(Calendar.MINUTE, 59);
cEndOfDate.set(Calendar.SECOND, 59);
//startOfYesterday
Calendar cStartOfYesterday = new GregorianCalendar();
cStartOfYesterday.set(Calendar.HOUR, 0);
cStartOfYesterday.set(Calendar.MINUTE, 0);
cStartOfYesterday.set(Calendar.SECOND, 0);
cStartOfYesterday.set(Calendar.MILLISECOND, 0);
//endOfYesterday
Calendar cEndOfYesterday = new GregorianCalendar();
cEndOfYesterday.set(Calendar.HOUR, 23);
cEndOfYesterday.set(Calendar.MINUTE, 59);
cEndOfYesterday.set(Calendar.SECOND, 59);
if (cStartOfDate.before(inCal) && cEndOfDate.after(inCal)){
System.out.println("Aujourd'hui - "+TodayDF.format(inDate));
viewHolder.dateDebut.setText("Aujourd'hui - "+TodayDF.format(inDate));
} else if (cStartOfYesterday.before(inCal) && cEndOfYesterday.after(inCal)){
System.out.println("Hier - "+TodayDF.format(inDate));
viewHolder.dateDebut.setText("Hier - "+TodayDF.format(inDate));
} else {
System.out.println(FullDF.format(inDate));
viewHolder.dateDebut.setText(FullDF.format(inDate));
}
DateFormat
(使用SimpleDateFormat
实现)来处理5月6日 - 17:50
这种格式:http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html。对于“今天/昨天”,你可以使用`Calendar`(使用`GregorianCalendar`实现)。 - lpratlong