Latest web development tutorials

Servlet fecha de procesamiento

Una de las ventajas más importantes de la utilización Servlet que puede ser utilizado en la mayor parte del núcleo métodos Java disponible. En este capítulo se explicaráel paquete java.utilproporcionada por la claseFechade Java que encapsula la fecha y la hora actuales.

clase Date soporta dos constructores. El primer constructor para inicializar el objeto de la fecha y hora actuales.

Date( )

El siguiente constructor acepta un parámetro que es igual al número de milisegundos transcurridos desde el 1 de enero 1970 a medianoche.

Date(long millisec)

Una vez que tenga un objeto Date disponible, puede llamar a cualquiera de las siguientes formas de utilizar el apoyo Fecha:

序号方法 & 描述
1boolean after(Date date)
如果调用的 Date 对象中包含的日期在 date 指定的日期之后,则返回 true,否则返回 false。
2boolean before(Date date)
如果调用的 Date 对象中包含的日期在 date 指定的日期之前,则返回 true,否则返回 false。
3Object clone( )
重复调用 Date 对象。
4int compareTo(Date date)
把调用对象的值与 date 的值进行比较。如果两个值是相等的,则返回 0。如果调用对象在 date 之前,则返回一个负值。如果调用对象在 date 之后,则返回一个正值。
5int compareTo(Object obj)
如果 obj 是 Date 类,则操作等同于 compareTo(Date)。否则,它会抛出一个 ClassCastException。
6boolean equals(Object date)
如果调用的 Date 对象中包含的时间和日期与 date 指定的相同,则返回 true,否则返回 false。
7long getTime( )
返回 1970 年 1 月 1 日以来经过的毫秒数。
8int hashCode( )
为调用对象返回哈希代码。
9void setTime(long time)
设置 time 指定的时间和日期,这表示从 1970 年 1 月 1 日午夜以来经过的时间(以毫秒为单位)。
10String toString( )
转换调用的 Date 对象为一个字符串,并返回结果。

Obtiene la fecha y la hora actual

Obtiene la fecha y hora actuales en el servlet de Java es muy fácil. Puede utilizar el métodotoStringuna fecha única del objeto()alasalida de la fecha y hora actuales de la siguiente manera:

package com.w3big.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class CurrentDate
 */
@WebServlet("/CurrentDate")
public class CurrentDate extends HttpServlet {
	private static final long serialVersionUID = 1L;
   
	public CurrentDate() {
		super();
	}
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
  		String title = "显示当前的日期和时间";
		Date date = new Date();
		String docType = "<!DOCTYPE html> \n";
		  out.println(docType +
		    "<html>\n" +
			"<head><title>" + title + "</title></head>\n" +
			"<body bgcolor=\"#f0f0f0\">\n" +
			"<h1 align=\"center\">" + title + "</h1>\n" +
			"<h2 align=\"center\">" + date.toString() + "</h2>\n" +
			"</body></html>");
	}

}

Ahora, vamos a compilar el servlet arriba, y crear la entrada correspondiente en el archivo web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <servlet>
    <servlet-name>CurrentDate</servlet-name>
    <servlet-class>com.w3big.test.CurrentDate</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>CurrentDate</servlet-name>
    <url-pattern>/TomcatTest/CurrentDate</url-pattern>
  </servlet-mapping>
</web-app>

A continuación, visita http: llamar al servlet 8080 / TomcatTest / CurrentDate: // localhost. Esto producirá los siguientes resultados:

Trate de actualizar la URL http: // localhost: 8080 / TomcatTest / CurrentDate, volver a cargar toda diferencia pocos segundos encontrará un tiempo de visualización.

Comparar fechas

Como se mencionó anteriormente, se pueden utilizar todos los métodos de Java disponibles en un servlet. Si es necesario comparar dos fechas son los siguientes métodos:

  • Se puede utilizar el getTime () para obtener los dos objetos, desde el 1 de enero de 1970 de la medianoche tiempo transcurrido (en milisegundos), entonces estos dos valores.
  • Usted puede utilizar el método anterior (), después () y equals (). Desde el 12 hasta el 18, por ejemplo, new Date (99, 2, 12) .Antes (new Date (99, 2, 18)) devuelve el mes verdadera.
  • Usted puede utilizar el método compareTo (), que se define por la interfaz Comparable por fecha de darse cuenta.

El uso de SimpleDateFormat fechas de formato

SimpleDateFormat es una clase concreta en un formato de manera sensible a la localidad y fechas de análisis sintáctico. SimpleDateFormat le permite seleccionar cualquier fecha y hora patrón de formato definido por el usuario.

Vamos a modificar el ejemplo anterior, como sigue:

package com.w3big.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class CurrentDate
 */
@WebServlet("/CurrentDate")
public class CurrentDate extends HttpServlet {
	private static final long serialVersionUID = 1L;
   
	public CurrentDate() {
		super();
	}
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		
		PrintWriter out = response.getWriter();
		String title = "显示当前的日期和时间";
		Date dNow = new Date( );
		SimpleDateFormat ft = 
				new SimpleDateFormat ("yyyy.MM.dd  hh:mm:ss E a ");
		String docType = "<!DOCTYPE html> \n";
		out.println(docType +
	        "<html>\n" +
	        "<head><title>" + title + "</title></head>\n" +
	        "<body bgcolor=\"#f0f0f0\">\n" +
	        "<h1 align=\"center\">" + title + "</h1>\n" +
	        "<h2 align=\"center\">" + ft.format(dNow) + "</h2>\n" +
	        "</body></html>");
	}

}

Compilar el servlet anterior otra vez, y luego visitar http: llamar al servlet 8080 / TomcatTest / CurrentDate: // localhost. Esto producirá los siguientes resultados:


fecha de formato simple código de formato

Utilizando la cadena de modo Evento para especificar el formato de hora. En este modo, todas las letras ASCII se reservan como cartas de patrón, y se definen las letras como sigue:

carácter descripción Ejemplos
G era indicador AD
y Cuatro años dígitos 2001
M Mes del año O julio 07
d Los primeros días del mes 10
h AM / PM, horas (1 a 12) con 12
H Las primeras horas del día (0 a 23) 22
m Una hora de la primera fracción 30
s Uno de los puntos en los primeros segundos 55
S milisegundo 234
E La semana de la semana martes
D Los primeros días del año 360
F Semana es la semana en este mes 2 (segundo miércoles en julio)
w Las primeras semanas del año 40
W Las primeras semanas de enero 1
una AM / PM marca primer ministro
k Las primeras horas del día (1 a 24) 24
K Con AM / PM hora (0 a 11) 10
z huso horario Eastern Standard Time
' Escapar para el texto delimitador
" Las comillas simples `

Para obtener una lista completa de los métodos de procesamiento de fecha disponibles para ver, puede hacer referencia a la documentación de Java estándar.