English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JSP-Datumsverarbeitung

使用JSP最重要的优势之一,就是可以使用所有Java  API。本章将会详细地讲述Java中的Date类,它在java.util包下,封装了当前日期和时间。

Date类有两个构造函数。第一个构造函数使用当前日期和时间来初始化对象。

Date( )

第二个构造函数接受一个参数,这个参数表示从1970 Jahren1Monat1凌晨至所要表示时间的毫秒数。

Date(long millisec)

获取Date对象后,您就能够使用下表列出的所有方法:

序号方法 & Beschreibung
                1boolean after(Date date) 如果比给定的日期晚,则返回true,否则返回false
                2boolean before(Date date) 如果比给定的日期早,则返回true,否则返回false
                3Object clone( ) 获取当前对象的一个副本
                4int compareTo(Date date) 如果与给定日期相等,则返回0,如果比给定日期早,则返回一个负数,如果比给定日期晚,则返回一个正数
                5int compareTo(Object obj) 与 compareTo(Date) 方法相同,如果 obj 不是Date类或其子类的对象,抛出ClassCastException异常
                6boolean equals(Object date) 如果与给定日期相同,则返回true,否则返回false
                7long getTime( ) 返回从1970 Jahren1Monat1凌晨至此对象所表示时间的毫秒数
                8int hashCode( ) 返回此对象的哈希码
                9void setTime(long time) Verwenden Sie die angegebenen Parameter, um Zeit und Datum zu setzen, parameter time bedeutet von1970 Jahren1Monat1Millisekunden von Zeitmesser früh bis time
                10String toString(); Konvertieren Sie dieses Objekt in einen String und geben Sie diesen String zurück

    Aktuelle Datum und Zeit erhalten

Mit JSP-Programmierung kann man leicht aktuelle Datum und Zeit erhalten, indem man die toString() Methode des Date-Objekts verwendet, wie im Folgenden gezeigt:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*, javax.servlet.*"%>
<html>
<head>
<title>Anzeigen von aktueller Zeit und Datum</title>
</head>
<body>
<h1>Anzeigen von aktueller Zeit und Datum</h1>
<%
   Date date = new Date();
   out.print("<h2 ausrichten="center">" +date.toString();+"</h2>");
%>
</body>
</html>

Speichern Sie den obigen Code in der Datei main.jsp und öffnen Sie http://localhost:8080/testjsp/main.jsp, wie folgendes Ergebnis zeigt:

Zeige das aktuelle Datum und die Uhrzeit an
Sat Jun 25 17:54:34 CST 2019

Neu laden http://localhost:8080/testjsp/main.jspkann man sehen, dass die erhaltenen Sekunden jedes Mal unterschiedlich sind, wenn man neu lädt.

Datum Vergleiche

Wie ich am Anfang erwähnt habe, können Sie in JSP Skripten jede Java Methode verwenden. Wenn Sie zwei Daten vergleichen möchten,

können Sie sich an die folgenden Methoden beziehen:

  •             ) die Millisekunden erhalten, dann können Sie die Millisekunden vergleichen.

  •             before(), after(), equals() Methoden verwenden. Zum Beispiel, new Date(99,2,12).before(new Date(99,2,18)) gibt true zurück.

  •             compareTo() Methode, die im Comparable Interface definiert ist und in Date implementiert wird, verwenden.

    Daten mit SimpleDateFormat formatieren

SimpleDateFormat formatiert und parset Daten in einer art, die sensibel gegenüber Regionen ist, und ermöglicht es Ihnen, benutzerdefinierte Muster zu verwenden, um Daten und Zeit zu formatieren.

CurrentDate.jsp leicht geändert, wie folgendes Code-Update:

<%@ 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>Anzeigen von aktueller Zeit und Datum</title>
</head>
<body>
<h1>Anzeigen von aktueller Zeit und Datum</h1>
<%
   Date dNow = new Date();
   SimpleDateFormat ft = ; 
   new SimpleDateFormat("yyyy");-MM-dd HH:mm:ss");
   out.print("<h2 ausrichten="center">" + ft.format(dNow) + "</h2>");
%>
</body>
</html>

Kompilieren Sie erneut main.jsp und dann besuchen Sie http://localhost:8080/testjsp/main.jsp,dann erhalten Sie folgendes Ergebnis:

Zeige das aktuelle Datum und die Uhrzeit an
2019-06-25 17:57:53

SimpleDateFormat-Formatcodes

Um ein Musterformat zu spezifizieren, müssen Sie die in der folgenden Tabelle aufgelisteten Formatcodes verwenden:

ZeichenBeschreibungBeispiel
                G                Epoche-Identifikator                AD
                y                4Ziffer-Jahr                2001
                M                Monat                July oder 07
                d                Tag                10
                h                1212-Stunden-Format, A.M./P.M. (1~12)                12
                H                2412-Stunden-Format                22
                m                Minute                30
                s                Sekunde                55
                S                Millisekunde                234
                E                Wochentag                Tuesday
                D                Ein bestimmter Tag im Jahr                360
                F                Ein bestimmter Tag einer Woche im Monat                2 (zweiter Mittwoch im Juli)
                w                Eine bestimmte Woche im Jahr                40
                W                Eine bestimmte Woche im Monat                1
                a                A.M./P.M.-Markierung                PM
                k                Eine bestimmte Stunde am Tag (1~24)                24
                K                Eine bestimmte Stunde am Tag, A.M./P.M. (0~11)                10
                z                Zeitzone                Eastern Standard Time
                '                Texttrennung                Trennzeichen
                "                Einfaches Anführungszeichen                `

Für weitere Details zur Klasse Date bitte die Java API-Dokumentation konsultieren.