pemprosesan tarikh JSP


Salah satu kelebihan terpenting menggunakan JSP ialah anda boleh menggunakan semua API Java. Bab ini akan menerangkan secara terperinci kelas Tarikh dalam Java, yang merangkumi tarikh dan masa semasa di bawah pakej java.util.

Kelas tarikh mempunyai dua pembina. Pembina pertama memulakan objek dengan tarikh dan masa semasa.

Date( )

Pembina kedua menerima parameter, yang mewakili bilangan milisaat dari awal pagi 1 Januari 1970 hingga masa yang akan dinyatakan.

Date(long millisec)

Selepas mendapatkan objek Tarikh, anda boleh menggunakan semua kaedah yang disenaraikan dalam jadual berikut:

Nombor siriKaedah & Penerangan
1boolean selepas(Tarikh tarikh)


Jika lewat daripada tarikh yang diberikan, kembalikan benar, jika tidak kembalikan palsu
2boolean sebelum(Tarikh tarikh)


Jika lebih awal daripada tarikh yang diberikan, kembalikan benar, sebaliknya kembalikan palsu
3Klon objek( )


Dapatkan salinan objek semasa
4int compareTo(Tarikh tarikh)


Jika ia sama dengan tarikh yang diberikan, ia mengembalikan 0, jika ia lebih awal daripada tarikh yang diberikan, ia mengembalikan nombor negatif, jika ia lewat daripada tarikh yang diberikan, ia mengembalikan nombor positif
5int compareTo(Object obj)


Sama seperti kaedah compareTo(Date), jika obj bukan objek kelas Date atau subkelasnya, ClassCastException dilemparkan
6boolean sama dengan(Tarikh objek)


Mengembalikan benar jika ia sama dengan tarikh yang diberikan, jika tidak mengembalikan palsu
7long getTime( )


Mengembalikan bilangan milisaat dari awal pagi 1 Januari 1970 kepada masa yang diwakili oleh objek ini
8int hashCode( )


Mengembalikan kod cincang objek ini
9kosongkan setMasa(lama)


Gunakan parameter yang diberikan untuk menetapkan masa dan tarikh Masa parameter mewakili bilangan milisaat yang berlalu dari awal pagi 1 Januari 1970 hingga masa
10String keString( )


Tukar objek ini kepada rentetan dan kembalikan rentetan ini

Dapatkan tarikh dan masa semasa

Menggunakan pengaturcaraan JSP, anda boleh mendapatkan tarikh dan masa semasa dengan mudah Hanya gunakan kaedah toString() objek Date, seperti ini:

<%@ 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>

Gantikan. di atas Kod disimpan dalam fail main.jsp, dan kemudian diakses http://localhost:8080/testjsp/main.jsp Keputusan yang dijalankan adalah seperti berikut:

显示当前时间与日期

Sat Jun 25 17:54:34 CST 2016

Segarkan semula http:///localhost:8080/testjsp/main.jsp, anda boleh mendapati bahawa bilangan saat yang diperolehi oleh setiap muat semula adalah berbeza.


Perbandingan Tarikh

Seperti yang saya nyatakan pada mulanya, anda boleh menggunakan mana-mana kaedah Java dalam skrip JSP. Jika anda ingin membandingkan dua tarikh,

anda boleh melakukannya seperti berikut:

  •                         Gunakan kaedah getTime() untuk mendapatkan bilangan milisaat, dan kemudian bandingkan bilangan milisaat.

  • Gunakan kaedah sebelum(), selepas(), sama dengan(). Contohnya, New Date(99,2,12).before(new Date(99,2,18)) mengembalikan benar.

  • Gunakan kaedah compareTo(), yang ditakrifkan dalam antara muka Sebanding dan dilaksanakan dalam Date.


Format tarikh menggunakan SimpleDateFormat

SimpleDateFormat menggunakan cara yang sensitif setempat untuk memformat dan menghuraikan tarikh, yang membolehkan anda memformat tarikh dan masa menggunakan corak tersuai.

Ubah suai sedikit CurrentDate.jsp dan dapatkan kod yang diubah suai berikut:

<%@ 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>

Kompilkan main.jsp sekali lagi, dan kemudian lawati http://localhost:8080/testjsp/main .jsp , anda boleh mendapatkan hasil berikut:

显示当前时间与日期

2016-06-25 17:57:53

Kod format SimpleDateFormat

Untuk menentukan rentetan corak, anda perlu menggunakan kod format yang disenaraikan dalam jadual berikut:

WatakPeneranganContoh
G                 Pengecam era                 IKLAN
                     y               tahun 4 digit               2001
                        M               Bulan Julai atau 07
                  d               日                 10
                  h               Format 12 jam, A.M./P.M. (1~12)                   12
                  H               Jam 24 jam                 22
                  m               Minit                 30
                  s               Saat 55
                  S                 Milisaat                 234
                  E               Hari dalam seminggu Selasa
                D               Hari dalam setahun                    360
                  F                 Hari tertentu dalam seminggu dalam sebulan               2 (Rabu kedua pada bulan Julai)
                w               Minggu tertentu dalam setahun                 40
                  W               Minggu tertentu dalam bulan                 1
                  a               A.M./P.M. markah                 PM
                k               Sejam dalam sehari (1~24)                   24
                  K               Satu jam dalam sehari, A.M./P.M. (0~11)                 10
                  z               Zon waktu               Waktu Standard Timur
' Pemisahan teks                 Pembatas
"                 Petikan tunggal                 `

Untuk maklumat lebih terperinci tentang kelas Date, sila rujuk dokumentasi Java API.