Как преобразовать java.util.date в нужный формат в скриптлете - PullRequest
0 голосов
/ 19 ноября 2011

У меня есть объект передачи, возвращаемый в JSP после поиска.Оно имеет поле java.util.Date (например, private Date issueDate;)

. Я обращаюсь к данным в TO с помощью тега usebean и отображаю дату в виде:

<INPUT TYPE="text" readonly="readonly" NAME="issueDt" ID="issueDt" 
       SIZE="45" value="<%=mySearchTO.getIssueDt()%>">

Однако этопечатает дату в формате, скажем, например, ПН ЯН 31 января 00:08:00 IST 2011

Я хочу, чтобы дата печаталась просто как MM/DD/YYYY и в тех случаях, когда времятакже важно, в формате MM/DD/YYYY HH:MM.

Как этого добиться в JSP?Я не знаю, нужно ли мне использовать функцию Javascript или какой-то статический метод Java.

Пожалуйста, извините за использование скриптлета.Это устаревшее приложение, и поэтому я не могу использовать EL.Пожалуйста, предоставьте решение только через скриптлет.Поэтому такие решения, как:

<fmt:formatDate value="${new Date(c.dateInIntegerValue)}" 
                pattern="dd.MM.yyyy hh:mm"/> 

, доступные по другим вопросам, не будут работать для меня.

Допустим ли следующий код?

<fmt:formatDate value="<%=mySearchTO.getIssueDt()%>" 
                pattern="dd.MM.yyyy hh:mm"/> 

Если да, то какиспользовать это в JSP?Я имею в виду label и все!

Также, насколько это возможно, я хочу избегать использования jquery и таких библиотек.

Ответы [ 4 ]

5 голосов
/ 19 ноября 2011
<%@ page import="java.text.SimpleDateFormat" %>    
<% SimpleDateFormat dateFormatWithTime = new SimpleDateFormat("MM/dd/yyyy hh:mm");%>
<INPUT TYPE="text" readonly="readonly" NAME="issueDt" ID="issueDt" SIZE="45" value="<%=dateFormatWithTime.format(mySearchTO.getIssueDt())%>">

В идеале вы должны просто использовать formatDate из JSTL или вынести этот код в пользовательский taglib.

0 голосов
/ 19 ноября 2011

Использовать ..

DateFormat f = new SimpleDateFormat ("гггг-ММ-дд"); .

0 голосов
/ 19 ноября 2011

Использовать DateFormat

http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html

Date date = new Date();
SimpleDateFormat df = new SimpleDateFormat();
df.applyPattern("MM/dd/yyyy");
System.out.println(df.format(date));
0 голосов
/ 19 ноября 2011

Вам нужно будет использовать java.text.SimpleDateFormat класс или Joda time .

...