JSP - Fecha de manipulación

En este capítulo, discutiremos cómo manejar datos en JSP. Una de las ventajas más importantes de usar JSP es que puede usar todos los métodos disponibles en el núcleo de Java. Lo llevaremos a través delDate clase que está disponible en el java.utilpaquete; esta clase encapsula la fecha y hora actuales.

La clase Date admite dos constructores. El primer constructor inicializa el objeto con la fecha y hora actuales.

Date( )

El siguiente constructor acepta un argumento que equivale al número de milisegundos que han transcurrido desde la medianoche del 1 de enero de 1970.

Date(long millisec)

Una vez que tenga un objeto Fecha disponible, puede llamar a cualquiera de los siguientes métodos de soporte para jugar con fechas:

S.No. Métodos y descripción
1

boolean after(Date date)

Devuelve true si el objeto Date que invoca contiene una fecha posterior a la especificada por date; de ​​lo contrario, devuelve false.

2

boolean before(Date date)

Devuelve verdadero si el objeto Date que invoca contiene una fecha anterior a la especificada por fecha; de lo contrario, devuelve falso.

3

Object clone( )

Duplica el objeto Date que invoca.

4

int compareTo(Date date)

Compara el valor del objeto que invoca con el de la fecha. Devuelve 0 si los valores son iguales. Devuelve un valor negativo si el objeto que invoca es anterior a la fecha. Devuelve un valor positivo si el objeto que invoca es posterior a la fecha.

5

int compareTo(Object obj)

Funciona de forma idéntica a compareTo (Date) si obj es de la clase Date. De lo contrario, arroja una ClassCastException.

6

boolean equals(Object date)

Devuelve verdadero si el objeto Date que invoca contiene la misma hora y fecha que el especificado por fecha; de lo contrario, devuelve falso.

7

long getTime( )

Devuelve el número de milisegundos que han transcurrido desde el 1 de enero de 1970.

8

int hashCode( )

Devuelve un código hash para el objeto que lo invoca.

9

void setTime(long time)

Establece la fecha y la hora especificadas por la hora, que representa el tiempo transcurrido en milisegundos desde la medianoche del 1 de enero de 1970.

10

String toString( )

Convierte el objeto Date que invoca en una cadena y devuelve el resultado.

Obtener fecha y hora actuales

Con el programa JSP, es muy fácil obtener la fecha y hora actual. Puede utilizar un objeto Date simple con eltoString() método para imprimir la fecha actual y la hora de la siguiente manera:

<%@ page import = "java.io.*,java.util.*, javax.servlet.*" %>

<html>
   <head>
      <title>Display Current Date & Time</title>
   </head>
   
   <body>
      <center>
         <h1>Display Current Date & Time</h1>
      </center>
      <%
         Date date = new Date();
         out.print( "<h2 align = \"center\">" +date.toString()+"</h2>");
      %>
   </body>
</html>

Ahora mantengamos el código en CurrentDate.jsp y luego llame a esta JSP usando la URL http://localhost:8080/CurrentDate.jsp. Recibirá el siguiente resultado:

Display Current Date & Time

Mon Jun 21 21:46:49 GMT+04:00 2010

Actualiza la página con el URL http://localhost:8080/CurrentDate.jsp. Encontrará la diferencia en segundos cada vez que actualice.

Comparación de fechas

Como se discutió en las secciones anteriores, puede usar todos los métodos Java disponibles en sus scripts JSP. En caso de que necesite comparar dos fechas, considere los siguientes métodos:

  • Puedes usar getTime( ) método para obtener el número de milisegundos que han transcurrido desde la medianoche del 1 de enero de 1970 para ambos objetos y luego comparar estos dos valores.

  • Puedes usar los métodos before( ), after( )y equals( )porque el 12 del mes es anterior al 18; por ejemplo,new Date(99, 2, 12).before(new Date (99, 2, 18)) devuelve verdadero.

  • Puedes usar el compareTo( )método; este método está definido por elComparable interface e implementado por fecha.

Formato de fecha usando SimpleDateFormat

SimpleDateFormat es una clase concreta para formatear y analizar fechas de una manera sensible a la configuración regional. SimpleDateFormat le permite comenzar eligiendo cualquier patrón definido por el usuario para el formato de fecha y hora.

Modifiquemos el ejemplo anterior de la siguiente manera:

<%@ page import = "java.io.*,java.util.*" %>
<%@ page import = "javax.servlet.*,java.text.*" %>

<html>
   <head>
      <title>Display Current Date & Time</title>
   </head>
   
   <body>
      <center>
         <h1>Display Current Date & Time</h1>
      </center>
      <%
         Date dNow = new Date( );
         SimpleDateFormat ft = 
         new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
         out.print( "<h2 align=\"center\">" + ft.format(dNow) + "</h2>");
      %>
   </body>
</html>

Compile el servlet anterior una vez más y luego llame a este servlet usando la URL http://localhost:8080/CurrentDate. Recibirá el siguiente resultado:

Display Current Date & Time

Mon 2010.06.21 at 10:06:44 PM GMT+04:00

Códigos de formato de formato de fecha simple

Para especificar el formato de hora, utilice una cadena de patrón de tiempo. En este patrón, todas las letras ASCII se reservan como letras de patrón, que se definen de la siguiente manera:

Personaje Descripción Ejemplo
GRAMO Designador de era ANUNCIO
y Año en cuatro dígitos 2001
METRO Mes del año Julio o 07
re Día en mes 0
h Hora en AM / PM (1 ~ 12) 2
H Hora del día (0 ~ 23) 22
metro Minuto en hora 30
s Segundo en minuto 55
S Milisegundo 234
mi Día de la semana martes
re Día del año 360
F Día de la semana en el mes 2 (segundo miércoles de julio)
w Semana del año 40
W Semana en mes
un Marcador AM / PM PM
k Hora del día (1 ~ 24) 24
K Hora en AM / PM (0 ~ 11) 0
z Zona horaria hora estándar del Este
' Escape por texto Delimitador
" Una frase '

Para obtener una lista completa de los métodos disponibles constantes para manipular la fecha, puede consultar la documentación estándar de Java.