De ma page JSP, je reçois Date
dans ce format.
Vendredi 13 mai 2011 19:59:09 GMT 0530 (heure normale de l'Inde)
Comment puis-je convertir ceci en le modèle yyyy-MM-dd HH:mm:ss
?
Dans JSP, vous voudriez normalement utiliser JSTL<fmt:formatDate>
pour cela. Vous pouvez bien sûr également ajouter un scriptlet avec SimpleDateFormat
, mais scriptlets sont vivement déconseillés depuis 2003.
En supposant que ${bean.date}
retourne Java.util.Date
, voici comment vous pouvez l'utiliser:
<%@ taglib prefix="fmt" uri="http://Java.Sun.com/jsp/jstl/fmt" %>
...
<fmt:formatDate value="${bean.date}" pattern="yyyy-MM-dd HH:mm:ss" />
Si vous utilisez réellement un Java.util.Calendar
, vous pouvez alors invoquer sa méthode getTime()
pour en extraire un Java.util.Date
que <fmt:formatDate>
accepte:
<fmt:formatDate value="${bean.calendar.time}" pattern="yyyy-MM-dd HH:mm:ss" />
Ou, si vous tenez réellement la date dans un Java.lang.String
(cela indique une grave erreur de conception dans le modèle; vous devez vraiment corriger votre modèle pour qu'il stocke les dates en tant que Java.util.Date
au lieu de Java.lang.String
!), Voici comment convertir une date format de chaîne, par exemple MM/dd/yyyy
vers un autre format de chaîne de date, par exemple. yyyy-MM-dd
avec l'aide de JSTL <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>
Sortie: Date actuelle: 10/03/2010
Date td = new Date();
String b = new String("");
SimpleDateFormat format = new SimpleDateFormat("YYYY/MM/dd");
b = format.format(td);
out.println(b);