Представьте сегодняшнюю дату как «Сегодня», а не «дд / мм / гггг» в JSP - PullRequest
2 голосов
/ 13 октября 2011

Учитывая java.util.Date, как лучше всего отображать дату как Today, а не в какой-то версии dd/mm/yyyy в JSP?

Учитывая будущую дату, я все еще хотел бы, чтобы она отображалась в формате dd/mm/yyyy, но сегодня должна отображаться как Today.

Ответы [ 3 ]

3 голосов
/ 13 октября 2011

Правильный путь JSP / JSTL будет использовать JSTL <fmt:formatDate>.Вы можете использовать <jsp:useBean>, чтобы создать и поместить java.util.Date в область видимости страницы.

<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<jsp:useBean id="today" class="java.util.Date" />
<fmt:formatDate var="todayString" value="${today}" pattern="dd/MM/yyyy" />
...
<fmt:formatDate var="dateString" value="${bean.date}" pattern="dd/MM/yyyy" />
<p>The date is: ${todayString == dateString ? 'Today' : dateString}</p>

Обратите внимание, что я установил mm, чтобы он был MM.mm обозначает минуты, MM - месяцы.См. Также SimpleDateFormat javadoc .

3 голосов
/ 13 октября 2011

Это будет делать:

<%
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date currentDate  = java.util.Calendar.getInstance().getTime();
Date myDate = someDate;
%>
<%=sdf.format(currentDate).equals(sdf.format(myDate))?"Today":sdf.format(myDate)%>
0 голосов
/ 13 октября 2011

Вы можете сравнить соответствующую дату с текущей датой (заданной путем создания нового экземпляра Date (). Помогает ли это?

DateFormat df = new SimpleDateFormat("dd/mm/yyyy");
Date someDate = df.parse("10/13/2011");

if (someDate.equals(df.parse(new Date())))
  displayDate = "Today";
else
  displayDate = someDate.toString();

РЕДАКТИРОВАТЬ: следующие изменения сделают эту работу:

DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
if (someDate.equals(df.parse(df.format(new Date()))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...