English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Manejo de fechas de JSP

uno de los principales beneficios de usar JSP es que se puede usar toda la API de Java. Este capítulo se centrará en detalle en la clase Date de Java, que se encuentra en java.util y encapsula la fecha y hora actual.

La clase Date tiene dos constructores. El primer constructor inicializa el objeto usando la fecha y la hora actual.

Date( )

el segundo constructor acepta un parámetro, que representa desde1970 años1Mes1las horas antes de la medianoche hasta el milisegundo de la fecha que se desea representar.

Date(long millisec)

Después de obtener el objeto Date, puede usar todos los métodos enumerados en la tabla siguiente:

número de ordenmétodo & Descripción
                1boolean after(Date date) devuelve true si es posterior a la fecha dada, de lo contrario devuelve false
                2boolean before(Date date) devuelve true si es anterior a la fecha dada, de lo contrario devuelve false
                3Object clone( ) obtiene una copia de este objeto
                4int compareTo(Date date) devuelve 0 si es igual a la fecha dada, devuelve un número negativo si es anterior a la fecha dada, devuelve un número positivo si es posterior a la fecha dada
                5int compareTo(Object obj) es igual que el método compareTo(Date), si obj no es un objeto de la clase Date o un subclase, lanza una excepción ClassCastException
                6boolean equals(Object date) devuelve true si es la misma fecha que la dada, de lo contrario devuelve false
                7long getTime( ) devuelve desde1970 años1Mes1las horas antes de la medianoche hasta el milisegundo de la fecha representada por este objeto
                8int hashCode( ) devuelve el código hash de este objeto
                9void setTime(long time) utilizar los parámetros dados para configurar la hora y la fecha, donde el parámetro time representa desde1970 años1Mes1milisegundos desde la medianoche hasta time
                10String toString( ) Convertir este objeto en una cadena y devolver esta cadena

    Obtener la fecha y la hora actual

El uso de programación JSP permite obtener fácilmente la fecha y la hora actual, simplemente utilizando el método toString() del objeto Date, como se muestra a continuación:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*, javax.servlet.*" %>
<html>
<head>
<title>Mostrar la hora y la fecha actual</title>
</head>
<body>
<h1>Mostrar la hora y la fecha actual</h1>
<%
   Date date = new Date();
   out.print(\"<h2 aline=\"center\">" +date.toString()+"</h2>
%>
</body>
</html>

Guarde el código anterior en el archivo main.jsp y acceda a http://localhost:8080/testjsp/main.jsp, los resultados de ejecución son los siguientes:

Mostrar la hora y fecha actual
Sáb Jun 25 17:54:34 CST 2019

Actualizar http://localhost:8080/testjsp/main.jsppodrá observar que cada vez que actualiza, los segundos obtenidos son diferentes.

Comparación de fechas

Como mencioné al principio, puede usar cualquier método Java en el script JSP. Si desea comparar dos fechas,

Puede seguir el siguiente método:

  •             ) utilizar el método getTime() para obtener milisegundos, luego comparar los milisegundos.

  •             Utilizar before(), after(), equals() métodos. Por ejemplo, new Date(99,2,12).before(new Date(99,2,18)) devuelve verdadero.

  •             Utilizar el método compareTo(), que está definido en el interfaz Comparable, implementado en Date.

    Formatear fechas utilizando SimpleDateFormat

SimpleDateFormat utiliza un método sensible a la región para formatear y analizar fechas, permitiéndole usar patrones personalizados para formatear fechas y horas.

Un poco de modificación en CurrentDate.jsp, se obtiene el siguiente código modificado:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<%@ page import="javax.servlet.*,java.text.*" %>
<html>
<head>
<title>Mostrar la hora y la fecha actual</title>
</head>
<body>
<h1>Mostrar la hora y la fecha actual</h1>
<%
   Date dNow = new Date( );
   SimpleDateFormat ft = 
   new SimpleDateFormat("yyyy-MM-dd HH:mm:ss\
   out.print(\"<h2 aline=\"center\">" + ft.format(dNow) + "</h2>
%>
</body>
</html>

Vuelva a compilar main.jsp y luego acceda http://localhost:8080/testjsp/main.jsp,se obtiene el siguiente resultado:

Mostrar la hora y fecha actual
2019-06-25 17:57:53

Códigos de formato de SimpleDateFormat

Para especificar una cadena de patrones, es necesario usar los códigos de formato enumerados en la siguiente tabla:

CarácterDescripciónEjemplo
                G                Identificador de era                A.D.
                y                4Año de dígitos                2001
                M                Mes                Julio o 07
                d                Día                10
                h                12Modo horario, A.M./P.M. (1~12)                12
                H                24Modo horario                22
                m                Minuto                30
                s                Segundo                55
                S                Milisegundo                234
                E                Día de la semana                Martes
                D                Un día específico del año                360
                F                Un día específico de la semana en el mes                2 (segundo mié. en julio)
                w                Una semana específica del año                40
                W                Una semana específica del mes                1
                a                A.M./Marcador P.M.                PM
                k                Una hora específica del día (1~24)                24
                K                Una hora específica del día, A.M./P.M. (0~11)                10
                z                Zona horaria                Eastern Standard Time
                '                Separador de texto                Delimitador
                "                Comillas simples                `

Para obtener más detalles sobre la clase Date, consulte el documento de API de Java.