JSPページから、この形式のDate
を取得しています。
2011年5月13日金曜日19:59:09 GMT 0530(インド標準時)
これをパターンyyyy-MM-dd HH:mm:ss
に変換するにはどうすればよいですか?
JSPでは、通常、 JSTL<fmt:formatDate>
を使用します。もちろん、SimpleDateFormat
でscriptletをスローすることもできますが、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" />
<%@ 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日
Date td = new Date();
String b = new String("");
SimpleDateFormat format = new SimpleDateFormat("YYYY/MM/dd");
b = format.format(td);
out.println(b);