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 siri | Kaedah & Penerangan |
---|---|
1 | boolean selepas(Tarikh tarikh) |
2 | boolean sebelum(Tarikh tarikh) |
3 | Klon objek( ) |
4 | int compareTo(Tarikh tarikh) |
5 | int compareTo(Object obj) |
6 | boolean sama dengan(Tarikh objek) |
7 | long getTime( ) |
8 | int hashCode( ) |
9 | kosongkan setMasa(lama) |
10 | String keString( ) |
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:
Watak | Penerangan | Contoh |
---|---|---|
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.