Servlets - Bearbeitungsdatum

Einer der wichtigsten Vorteile der Verwendung von Servlet besteht darin, dass Sie die meisten in Java verfügbaren Kernmethoden verwenden können. Dieses Tutorial führt Sie durch JavaDate Klasse, die in verfügbar ist java.util Paket, diese Klasse kapselt das aktuelle Datum und die aktuelle Uhrzeit.

Die Date-Klasse unterstützt zwei Konstruktoren. Der erste Konstruktor initialisiert das Objekt mit dem aktuellen Datum und der aktuellen Uhrzeit.

Date( )

Der folgende Konstruktor akzeptiert ein Argument, das der Anzahl der Millisekunden entspricht, die seit Mitternacht, dem 1. Januar 1970, vergangen sind

Date(long millisec)

Sobald Sie ein Date-Objekt verfügbar haben, können Sie eine der folgenden Unterstützungsmethoden aufrufen, um mit Datumsangaben zu spielen:

Sr.Nr. Methoden & Beschreibung
1

boolean after(Date date)

Gibt true zurück, wenn das aufrufende Date-Objekt ein Datum enthält, das nach dem durch date angegebenen Datum liegt. Andernfalls wird false zurückgegeben.

2

boolean before(Date date)

Gibt true zurück, wenn das aufrufende Date-Objekt ein Datum enthält, das vor dem durch date angegebenen Datum liegt. Andernfalls wird false zurückgegeben.

3

Object clone( )

Dupliziert das aufrufende Date-Objekt.

4

int compareTo(Date date)

Vergleicht den Wert des aufrufenden Objekts mit dem des Datums. Gibt 0 zurück, wenn die Werte gleich sind. Gibt einen negativen Wert zurück, wenn das aufrufende Objekt vor dem Datum liegt. Gibt einen positiven Wert zurück, wenn das aufrufende Objekt nach dem Datum liegt.

5

int compareTo(Object obj)

Funktioniert identisch mit compareTo (Date), wenn obj der Klasse Date entspricht. Andernfalls wird eine ClassCastException ausgelöst.

6

boolean equals(Object date)

Gibt true zurück, wenn das aufrufende Date-Objekt dieselbe Uhrzeit und dasselbe Datum enthält wie das durch date angegebene. Andernfalls wird false zurückgegeben.

7

long getTime( )

Gibt die Anzahl der Millisekunden zurück, die seit dem 1. Januar 1970 vergangen sind.

8

int hashCode( )

Gibt einen Hash-Code für das aufrufende Objekt zurück.

9

void setTime(long time)

Legt die Uhrzeit und das Datum wie durch die Uhrzeit festgelegt fest. Dies entspricht einer verstrichenen Zeit in Millisekunden ab Mitternacht, dem 1. Januar 1970.

10

String toString( )

Konvertiert das aufrufende Date-Objekt in eine Zeichenfolge und gibt das Ergebnis zurück.

Aktuelles Datum und Uhrzeit abrufen

Dies ist sehr einfach, um das aktuelle Datum und die aktuelle Uhrzeit in Java Servlet abzurufen. Sie können ein einfaches Datumsobjekt mit der toString () -Methode verwenden, um das aktuelle Datum und die aktuelle Uhrzeit wie folgt zu drucken:

// Import required java libraries
import java.io.*;
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;
 
// Extend HttpServlet class
public class CurrentDate extends HttpServlet {
 
   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set response content type
      response.setContentType("text/html");
 
      PrintWriter out = response.getWriter();
      String title = "Display Current Date & Time";
      Date date = new Date();
      String docType = "<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\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>"
      );
   }
}

Lassen Sie uns nun das obige Servlet kompilieren und entsprechende Einträge in web.xml erstellen und dieses Servlet dann unter der URL http: // localhost: 8080 / CurrentDate aufrufen. Dies würde folgendes Ergebnis liefern -

Display Current Date & Time

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

Wenn Sie versuchen, die URL http: // localhost: 8080 / CurrentDate zu aktualisieren, werden Sie bei jeder Aktualisierung einen Unterschied in Sekunden feststellen.

Datumsvergleich

Wie oben erwähnt, können Sie alle verfügbaren Java-Methoden in Ihrem Servlet verwenden. Wenn Sie zwei Daten vergleichen müssen, gehen Sie wie folgt vor:

  • Mit getTime () können Sie die Anzahl der Millisekunden abrufen, die seit Mitternacht, dem 1. Januar 1970, für beide Objekte vergangen sind, und diese beiden Werte vergleichen.

  • Sie können die Methoden before (), after () und equals () verwenden. Da der 12. des Monats beispielsweise vor dem 18. liegt, gibt das neue Datum (99, 2, 12) vor (neues Datum (99, 2, 18)) true zurück.

  • Sie können die compareTo () -Methode verwenden, die von der Comparable-Schnittstelle definiert und von Date implementiert wird.

Datumsformatierung mit SimpleDateFormat

SimpleDateFormat ist eine konkrete Klasse zum Formatieren und Analysieren von Datumsangaben auf lokale Weise. Mit SimpleDateFormat können Sie zunächst benutzerdefinierte Muster für die Formatierung von Datum und Uhrzeit auswählen.

Lassen Sie uns das obige Beispiel wie folgt modifizieren:

// Import required java libraries
import java.io.*;
import java.text.*;
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;
 
// Extend HttpServlet class
public class CurrentDate extends HttpServlet {
 
   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set response content type
      response.setContentType("text/html");
 
      PrintWriter out = response.getWriter();
      String title = "Display Current Date & Time";
      Date dNow = new Date( );
      SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
      String docType = "<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\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 das obige Servlet erneut und rufen Sie dieses Servlet dann unter der URL http: // localhost: 8080 / CurrentDate auf. Dies würde folgendes Ergebnis liefern -

Display Current Date & Time

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

Einfache DateFormat-Formatcodes

Verwenden Sie zum Festlegen des Zeitformats eine Zeitmusterzeichenfolge. In diesem Muster sind alle ASCII-Buchstaben als Musterbuchstaben reserviert, die wie folgt definiert sind:

Charakter Beschreibung Beispiel
G Ära Bezeichner ANZEIGE
y Jahr in vier Ziffern 2001
M. Monat im Jahr Juli oder 07
d Tag im Monat 10
h Stunde in AM / PM (1 ~ 12) 12
H. Stunde am Tag (0 ~ 23) 22
m Minute in Stunde 30
s Zweiter in der Minute 55
S. Millisekunde 234
E. Tag in der Woche Dienstag
D. Tag im Jahr 360
F. Wochentag im Monat 2 (zweiter Mi. im Juli)
w Woche im Jahr 40
W. Woche im Monat 1
ein AM / PM-Marker PM
k Stunde am Tag (1 ~ 24) 24
K. Stunde in AM / PM (0 ~ 11) 10
z Zeitzone Östliche Standardzeit
' Escape für Text Trennzeichen
"" Einfaches Zitat `

Eine vollständige Liste der ständig verfügbaren Methoden zum Bearbeiten des Datums finden Sie in der Standard-Java-Dokumentation.