web-dev-qa-db-ja.com

JSPで日付を変換およびフォーマットする

JSPページから、この形式のDateを取得しています。

2011年5月13日金曜日19:59:09 GMT 0530(インド標準時)

これをパターンyyyy-MM-dd HH:mm:ssに変換するにはどうすればよいですか?

62
user663724

JSPでは、通常、 JSTL<fmt:formatDate> を使用します。もちろん、SimpleDateFormatscriptletをスローすることもできますが、scriptlets強く非推奨 2003年以降です。

${bean.date}Java.util.Dateを返すと仮定すると、次のように使用できます。

<%@ taglib prefix="fmt" uri="http://Java.Sun.com/jsp/jstl/fmt" %>
...
<fmt:formatDate value="${bean.date}" pattern="yyyy-MM-dd HH:mm:ss" />

実際にJava.util.Calendarを使用している場合、そのgetTime()メソッドを呼び出して、Java.util.Dateが受け入れる<fmt:formatDate>を取得できます。

<fmt:formatDate value="${bean.calendar.time}" pattern="yyyy-MM-dd HH:mm:ss" />

または、実際に日付をJava.lang.Stringで保持している場合(これはモデルの重大な設計ミスを示します。日付をJava.util.DateではなくJava.lang.Stringとして保存するようにモデルを実際に修正する必要があります)、ここで1つの日付から変換する方法を示します文字列形式例MM/dd/yyyyから別の日付文字列形式へJSTLの助けを借りてyyyy-MM-dd<fmt:parseDate>

<fmt:parseDate pattern="MM/dd/yyyy" value="${bean.dateString}" var="parsedDate" />
<fmt:formatDate value="${parsedDate}" pattern="yyyy-MM-dd" />
248
BalusC
<%@ page language="Java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
 <!DOCTYPE html>
 <html dir="ltr" lang="en-US">
 <head>
 <meta charset="UTF-8" />
  <title>JSP with the current date</title>
  </head>
 <body>
 <%Java.text.DateFormat df = new Java.text.SimpleDateFormat("dd/MM/yyyy"); %>
<h1>Current Date: <%= df.format(new Java.util.Date()) %> </h1>
</body>
</html>

出力:現在の日付:2010年10月3日

7
phani_yelugula
Date td = new Date();
String b = new String("");
SimpleDateFormat format = new SimpleDateFormat("YYYY/MM/dd");
b = format.format(td);
out.println(b);