Convierta y formatee una fecha en JSP

Desde mi página JSP, obtengo la Date en este formato.

Viernes 13 de mayo de 2011 19:59:09 GMT 0530 (hora estándar de la India)

¿Cómo puedo convertir esto al patrón yyyy-MM-dd HH:mm:ss ?

Puedes hacerlo usando la clase SimpleDateFormat .

 SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dates=formatter.format(mydate); //mydate is your date object 

En JSP, normalmente le gustaría usar JSTL para esto. Por supuesto, también puede lanzar un scriptlet con SimpleDateFormat , pero los scriptlets se desaconsejan desde 2003.

Suponiendo que ${bean.date} devuelva java.util.Date , así es como puede usarlo:

 < %@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> ...  

Si realmente está usando un java.util.Calendar , puede invocar su método getTime() para obtener un java.util.Date que acepte:

  

O bien, si en realidad tiene la fecha en java.lang.String (esto indica un grave error de diseño en el modelo; realmente debería arreglar su modelo para almacenar fechas como java.util.Date lugar de como java.lang.String !), Así es cómo se puede convertir desde un formato de cadena de fecha, por ejemplo, MM/dd/yyyy a otro formato de cadena de fecha, por ejemplo, yyyy-MM-dd con la ayuda de JSTL .

   
 < %@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> < !DOCTYPE html>    JSP with the current date   < %java.text.DateFormat df = new java.text.SimpleDateFormat("dd/MM/yyyy"); %> 

Current Date: < %= df.format(new java.util.Date()) %>

Salida: Fecha actual: 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); 

Echa un vistazo a DateFormatter . Probablemente pueda hacer lo que quieras.

El ejemplo anterior que muestra la importación con … sun.com/jsp/jstl/format es incorrecto (lo que significa que no funcionó para mí).

En su lugar, intente lo siguiente: esta statement de importación es válida

 < %@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>< %@ taglib uri="http://java.sun.com/jstl/core-rt" prefix="c-rt" %>< %@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>   Format Date    

Formatting:

 < %@page import="java.text.SimpleDateFormat"%> < %@page import="java.util.Date"%> < %@page import="java.util.Locale"%>   Date Format   < % String stringDate = "Fri May 13 2011 19:59:09 GMT 0530"; Date stringDate1 = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss Z", Locale.ENGLISH).parse(stringDate); String stringDate2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(stringDate1); out.println(stringDate2); %>