Latest web development tutorials

Servlets Datum Verarbeitung

Einer der wichtigsten Vorteile von Servlets verwenden, die Java-Methoden in den meisten des Kerns verwendet werden kann. In diesem Kapitel wirddas Paket java.utilvon der Java -Date- Klasse zur Verfügung gestellt zu erklären, die das aktuelle Datum und die Uhrzeit kapselt.

Date-Klasse unterstützt zwei Konstrukteure. Der erste Konstruktor das Objekt das aktuelle Datum und die Uhrzeit zu initialisieren.

Date( )

Der folgende Konstruktor akzeptiert einen Parameter, der auf die Anzahl der Millisekunden verstrichen ist seit dem 1. Januar um Mitternacht 1970 gleich ist.

Date(long millisec)

Sobald Sie ein verfügbares Date-Objekt haben, können Sie eine der folgenden Arten aufrufen Unterstützung Datum verwenden:

序号方法 & 描述
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 对象为一个字符串,并返回结果。

Ruft das aktuelle Datum und die Uhrzeit

Ruft das aktuelle Datum und die Uhrzeit in der Java-Servlet ist sehr einfach. Sie können ein einzelnes Date - Objekt der MethodetoString ()zur Ausgabe verwenden Sie das aktuelle Datum und die Uhrzeit wie folgt:

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>");
	}

}

Nun lassen Sie uns das über Servlet kompilieren, und erstellen Sie den entsprechenden Eintrag in der Datei 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>

Dann http: // localhost: die Servlet 8080 / TomcatTest / Current zu nennen. Dadurch werden die folgenden Ergebnisse erzielt:

Versuchen Sie, die URL http zu aktualisieren: // localhost: 8080 / TomcatTest / Current, wird alle paar Sekunden Unterschied Sie eine Anzeigezeit finden.

Daten vergleichen

Wie oben erwähnt, können Sie alle verfügbaren Java-Methoden in einem Servlet verwenden. Wenn Sie zwei Tage, zu vergleichen sind die folgenden Methoden:

  • Sie können die getTime () verwenden, um die beiden Objekte zu bekommen, seit 1. Januar 1970 abgelaufene Zeit Mitternacht (in Millisekunden), dann werden diese beiden Werte.
  • Sie können die Methode vor () verwenden, wird nach () und equals (). Seit dem 12. bis zum 18., zum Beispiel neue Datum (99, 2, 12) .before (new Date (99, 2, 18)) gibt den Monat wahr.
  • Sie können die compareTo () -Methode verwenden, die durch die Schnittstelle Comparable by Date realize definiert ist.

Die Verwendung Simple um Datum-

Simple ist eine konkrete Klasse in einer locale sensitiv Formatierung und Analyse Daten. Simple können Sie einen beliebigen benutzerdefinierten Datum und Uhrzeit Formatierung Muster auszuwählen.

Lassen Sie uns das obige Beispiel wie folgt ändern:

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>");
	}

}

Kompilieren Sie den vorherigen Servlet wieder, und dann http: die Servlet 8080 anrufen / TomcatTest / Current: // localhost. Dadurch werden die folgenden Ergebnisse erzielt:


Einfache Datumsformat Codeformat

die Event-Modus String Mit dem Zeitformat zu spezifizieren. In diesem Modus werden alle ASCII-Buchstaben als Musterbuchstaben reserviert, und die Buchstaben sind wie folgt definiert:

Charakter Beschreibung Beispiele
G Era-Anzeige AD
y Vierstellige Jahreszahlen 2001
M Monat des Jahres Oder 7. Juli
d In den ersten Tagen des Monats 10
h AM / PM, h (1 bis 12), mit 12
H Den ersten Stunden des Tages (0 bis 23) 22
m Eine Stunde der ersten Fraktion 30
s Ein Punkt in den ersten paar Sekunden 55
S Millisekunde 234
E Die Woche der Woche Dienstag
D In den ersten Tagen des Jahres 360
F Woche ist die Woche, wo in diesem Monat 2 (zweite Mi. im Juli)
w In den ersten Wochen des Jahres 40
W Die ersten paar Wochen im Januar 1
ein AM / PM Markierung PM
k Den ersten Stunden des Tages (1 bis 24) 24
K Mit AM / PM Stunde (0 bis 11) 10
z Zeitzone Eastern Standard Time
' Entfliehen Sie für Text Delimiter
" Einfache Anführungszeichen `

Eine vollständige Liste der Verarbeitungsdatum Methoden, um anzuzeigen, können Sie auf die Standard-Java-Dokumentation.