JSP Datumsverarbeitung
Einer der wichtigsten Vorteile der Verwendung von JSP ist, dass Sie alle Java-APIs verwenden können. In diesem Kapitel wird die Date-Klasse in Java ausführlich erklärt. Sie befindet sich im Paket java.util und kapselt das aktuelle Datum und die aktuelle Uhrzeit.
Die Date-Klasse hat zwei Konstruktoren. Der erste Konstruktor initialisiert das Objekt mit dem aktuellen Datum und der aktuellen Uhrzeit.
Date( )
Der zweite Konstruktor akzeptiert einen Parameter, der die Anzahl der Millisekunden von Mitternacht am 1. Januar 1970 bis zu dem darzustellenden Zeitpunkt darstellt.
Date(long millisec)
Sobald Sie das Date-Objekt erhalten, können Sie alle in der folgenden Tabelle aufgeführten Methoden verwenden:
| Nein. | Methode & Beschreibung |
|---|---|
| 1 | boolean after(Date date)Wenn es später als das angegebene Datum liegt, gibt es true zurück; andernfalls false. |
| 2 | boolean before(Date date)Wenn es früher als das angegebene Datum ist, gibt es true zurück; andernfalls gibt es false zurück. |
| 3 | Object clone( )Gibt eine Kopie des aktuellen Objekts zurück. |
| 4 | int compareTo(Date date)Gibt 0 zurück, wenn es gleich dem angegebenen Datum ist, eine negative Zahl, wenn es früher als das angegebene Datum ist, und eine positive Zahl, wenn es später als das angegebene Datum ist. |
| 5 | int compareTo(Object obj)Dasselbe wie die Methode compareTo(Date). Wenn obj kein Objekt der Klasse Date oder ihrer Unterklasse ist, wird eine ClassCastException ausgelöst. |
| 6 | boolean equals(Object date)Wenn es mit dem angegebenen Datum übereinstimmt, gibt es true zurück, andernfalls false. |
| 7 | long getTime( )Gibt die Anzahl der Millisekunden von Mitternacht am 1. Januar 1970 bis zu dem durch dieses Objekt repräsentierten Zeitpunkt zurück. |
| 8 | int hashCode( )Gibt den Hashcode dieses Objekts zurück. |
| 9 | void setTime(long time)Legt die Uhrzeit und das Datum mithilfe des angegebenen Parameters fest, wobei der Parameter time die Anzahl der Millisekunden darstellt, die von Mitternacht am 1. Januar 1970 bis time vergangen sind. |
| 10 | String toString( )Konvertiert dieses Objekt in einen String und gibt den String zurück. |
Aktuelles Datum und aktuelle Uhrzeit abrufen
Mit der JSP-Programmierung können Sie ganz einfach das aktuelle Datum und die aktuelle Uhrzeit abrufen. Verwenden Sie einfach die Methode toString() des Date-Objekts, wie folgt:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*, javax.servlet.*" %>
<html>
<head>
<title>显示当前时间与日期</title>
</head>
<body>
<h1>显示当前时间与日期</h1>
<%
Date date = new Date();
out.print( "<h2 align=\"center\">" +date.toString()+"</h2>");
%>
</body>
</html>
Speichern Sie den obigen Code in der Datei main.jsp, und besuchen Sie dannhttp://localhost:8080/testjsp/main.jsp, das Ergebnis ist wie folgt:
显示当前时间与日期 Sat Jun 25 17:54:34 CST 2016
Aktualisieren Siehttp://localhost:8080/testjsp/main.jsp, werden Sie feststellen, dass die bei jedem Aktualisieren ermittelten Sekunden unterschiedlich sind.
Datumsvergleich
Wie ich am Anfang erwähnt habe, können Sie jede Java-Methode in JSP-Skripten verwenden. Wenn Sie zwei Datumsangaben vergleichen möchten,
können Sie sich auf die folgenden Methoden beziehen:
- Verwenden Sie die getTime()-Methode, um die Millisekunden zu erhalten, und vergleichen Sie dann die Millisekunden.
- Verwenden Sie die Methoden before(), after() und equals(). Zum Beispiel gibt new Date(99,2,12).before(new Date(99,2,18)) true zurück.
- Verwenden Sie die compareTo()-Methode, die im Interface Comparable definiert und in Date implementiert ist.
Datumsangaben mit SimpleDateFormat formatieren
SimpleDateFormat formatiert und parst Datumsangaben auf gebietsschemaabhängige Weise. Es ermöglicht Ihnen, Datums- und Zeitangaben mithilfe benutzerdefinierter Muster zu formatieren.
Ändern Sie CurrentDate.jsp geringfügig, um den folgenden überarbeiteten Code zu erhalten:
<%@ 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>显示当前时间与日期</title>
</head>
<body>
<h1>显示当前时间与日期</h1>
<%
Date dNow = new Date( );
SimpleDateFormat ft =
new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
out.print( "<h2 align=\"center\">" + ft.format(dNow) + "</h2>");
%>
</body>
</html>
Kompilieren Sie main.jsp erneut und besuchen Sie dannhttp://localhost:8080/testjsp/main.jsp, erhalten Sie das folgende Ergebnis:
显示当前时间与日期 2016-06-25 17:57:53
SimpleDateFormat-Formatcodes
Um eine Musterzeichenfolge anzugeben, müssen Sie die in der folgenden Tabelle aufgeführten Formatcodes verwenden:
| Zeichen | Beschreibung | Beispiel |
|---|---|---|
| G | Epochenbezeichner | AD |
| y | 4-stelliges Jahr | 2001 |
| M | month | Juli oder 07 |
| d | day | 10 |
| h | 12-Stunden-Uhr, A.M./P.M. (1~12) | 12 |
| H | 24-Stunden-Uhr | 22 |
| m | Minute | 30 |
| s | second | 55 |
| S | Millisekunde | 234 |
| E | Wochentag | Dienstag |
| D | Tag des Jahres | 360 |
| F | Wochentag im Monat | 2 (zweiter Mittwoch im Juli) |
| w | Woche des Jahres | 40 |
| W | Woche des Monats | 1 |
| a | A.M./P.M.-Markierung | PM |
| k | Stunde des Tages (1~24) | 24 |
| K | Stunde des Tages, A.M./P.M. (0~11) | 10 |
| z | Zeitzone | Eastern Standard Time |
| ' | Texttrennzeichen | Trennzeichen |
| " | Einfaches Anführungszeichen | ` |
Weitere detaillierte Informationen zur Date-Klasse finden Sie in der Java-API-Dokumentation.
Weitere Erweiterungen