我希望在“2016年10月17日星期一”获得日期时显示“1ST OCT”的日期和月份,并且我使用下面的代码,任何帮助都会被评估。
<ice:outputLabel value="#{currentRow.eventDate}">
<f:convertDateTime dateStyle="full" timeZone="#{AnnouncementBean.timeZone}" />
</ice:outputLabel>
答案 0 :(得分:1)
您可以在java代码中手动设置日期格式,而不是使用f:convertDateTime
。
您只需要声明新的String变量,并使用以下方法格式化日期。
public static String getFormattedDate(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// 2nd of march 2015
int day = cal.get(Calendar.DATE);
if (!((day > 10) && (day < 19)))
switch (day % 10) {
case 1:
return new SimpleDateFormat("d'st' 'of' MMM").format(date);
case 2:
return new SimpleDateFormat("d'nd' 'of' MMM").format(date);
case 3:
return new SimpleDateFormat("d'rd' 'of' MMM").format(date);
default:
return new SimpleDateFormat("d'th' 'of' MMM").format(date);
}
return new SimpleDateFormat("d'th' 'of' MMM").format(date);
}