JSP - วันที่จัดการ
ในบทนี้เราจะพูดถึงวิธีจัดการข้อมูลใน JSP ข้อดีที่สำคัญที่สุดอย่างหนึ่งของการใช้ JSP คือคุณสามารถใช้วิธีการทั้งหมดที่มีอยู่ใน Java หลัก เราจะนำคุณไปสู่Date คลาสที่มีอยู่ในไฟล์ java.utilแพ็คเกจ; คลาสนี้สรุปวันที่และเวลาปัจจุบัน
คลาส Date รองรับตัวสร้างสองตัว ตัวสร้างแรกเริ่มต้นวัตถุด้วยวันที่และเวลาปัจจุบัน
Date( )
ตัวสร้างต่อไปนี้ยอมรับหนึ่งอาร์กิวเมนต์ที่เท่ากับจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่เที่ยงคืนวันที่ 1 มกราคม 1970
Date(long millisec)
เมื่อคุณมีวัตถุ Date แล้วคุณสามารถเรียกใช้วิธีการสนับสนุนต่อไปนี้เพื่อเล่นกับวันที่ -
ส. | วิธีการและคำอธิบาย |
---|---|
1 | boolean after(Date date) ส่งคืนค่าจริงหากอ็อบเจ็กต์วันที่เรียกใช้มีวันที่ที่ช้ากว่าวันที่ที่ระบุมิฉะนั้นจะส่งกลับเท็จ |
2 | boolean before(Date date) ส่งคืนค่าจริงหากอ็อบเจ็กต์วันที่เรียกใช้มีวันที่ก่อนหน้าวันที่ระบุไว้มิฉะนั้นจะส่งกลับเท็จ |
3 | Object clone( ) ทำซ้ำอ็อบเจ็กต์ Date ที่เรียกใช้ |
4 | int compareTo(Date date) เปรียบเทียบค่าของวัตถุที่เรียกใช้กับวันที่ ส่งคืน 0 ถ้าค่าเท่ากัน ส่งคืนค่าลบหากวัตถุที่เรียกใช้ก่อนวันที่ ส่งคืนค่าบวกหากวัตถุที่เรียกใช้ช้ากว่าวันที่ |
5 | int compareTo(Object obj) ดำเนินการเหมือนกันกับ CompareTo (Date) ถ้า obj เป็นคลาส Date มิฉะนั้นจะพ่น ClassCastException |
6 | boolean equals(Object date) ส่งคืนจริงหากอ็อบเจ็กต์วันที่เรียกใช้มีเวลาและวันที่เดียวกันกับที่ระบุโดยวันที่มิฉะนั้นจะส่งกลับเท็จ |
7 | long getTime( ) ส่งคืนจำนวนมิลลิวินาทีที่ผ่านไปนับตั้งแต่วันที่ 1 มกราคม 1970 |
8 | int hashCode( ) ส่งคืนรหัสแฮชสำหรับวัตถุที่เรียกใช้ |
9 | void setTime(long time) ตั้งเวลาและวันที่ตามที่ระบุโดยเวลาซึ่งแสดงเวลาที่ผ่านไปในหน่วยมิลลิวินาทีจากเที่ยงคืนวันที่ 1 มกราคม 1970 |
10 | String toString( ) แปลงอ็อบเจ็กต์วันที่เรียกใช้เป็นสตริงและส่งคืนผลลัพธ์ |
รับวันที่และเวลาปัจจุบัน
ด้วยโปรแกรม JSP การรับวันที่และเวลาปัจจุบันเป็นเรื่องง่ายมาก คุณสามารถใช้ออบเจ็กต์ Date แบบธรรมดากับไฟล์toString() วิธีพิมพ์วันที่และเวลาปัจจุบันดังนี้ -
<%@ page import = "java.io.*,java.util.*, javax.servlet.*" %>
<html>
<head>
<title>Display Current Date & Time</title>
</head>
<body>
<center>
<h1>Display Current Date & Time</h1>
</center>
<%
Date date = new Date();
out.print( "<h2 align = \"center\">" +date.toString()+"</h2>");
%>
</body>
</html>
ตอนนี้ให้เราเก็บรหัสไว้ CurrentDate.jsp จากนั้นเรียกสิ่งนี้ว่า JSP โดยใช้ URL http://localhost:8080/CurrentDate.jsp. คุณจะได้รับผลดังต่อไปนี้ -
Display Current Date & Time
Mon Jun 21 21:46:49 GMT+04:00 2010
รีเฟรชหน้าด้วยไฟล์ URL http://localhost:8080/CurrentDate.jsp. คุณจะพบความแตกต่างในไม่กี่วินาทีทุกครั้งที่คุณรีเฟรช
การเปรียบเทียบวันที่
ตามที่กล่าวไว้ในส่วนก่อนหน้านี้คุณสามารถใช้วิธีการ Java ที่มีอยู่ทั้งหมดในสคริปต์ JSP ของคุณ ในกรณีที่คุณต้องการเปรียบเทียบวันที่สองวันให้พิจารณาวิธีการต่อไปนี้ -
คุณสามารถใช้ได้ getTime( ) วิธีการหาจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่เที่ยงคืนวันที่ 1 มกราคม 1970 สำหรับวัตถุทั้งสองแล้วเปรียบเทียบค่าทั้งสองนี้
คุณสามารถใช้วิธีการ before( ), after( )และ equals( )เพราะวันที่ 12 ของเดือนมาก่อนวันที่ 18 ตัวอย่างเช่น,new Date(99, 2, 12).before(new Date (99, 2, 18)) คืนค่าจริง
คุณสามารถใช้ไฟล์ compareTo( )วิธี; วิธีนี้กำหนดโดยไฟล์Comparable interface และดำเนินการตามวันที่
การจัดรูปแบบวันที่โดยใช้ SimpleDateFormat
SimpleDateFormat เป็นคลาสที่เป็นรูปธรรมสำหรับการจัดรูปแบบและการแยกวิเคราะห์วันที่ในลักษณะที่คำนึงถึงสถานที่ SimpleDateFormat ช่วยให้คุณสามารถเริ่มต้นด้วยการเลือกรูปแบบที่ผู้ใช้กำหนดสำหรับการจัดรูปแบบวันที่และเวลา
ให้เราปรับเปลี่ยนตัวอย่างข้างต้นดังนี้ -
<%@ page import = "java.io.*,java.util.*" %>
<%@ page import = "javax.servlet.*,java.text.*" %>
<html>
<head>
<title>Display Current Date & Time</title>
</head>
<body>
<center>
<h1>Display Current Date & Time</h1>
</center>
<%
Date dNow = new Date( );
SimpleDateFormat ft =
new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
out.print( "<h2 align=\"center\">" + ft.format(dNow) + "</h2>");
%>
</body>
</html>
คอมไพล์ servlet ด้านบนอีกครั้งจากนั้นเรียกใช้ servlet นี้โดยใช้ URL http://localhost:8080/CurrentDate. คุณจะได้รับผลดังต่อไปนี้ -
Display Current Date & Time
Mon 2010.06.21 at 10:06:44 PM GMT+04:00
รหัสรูปแบบ DateFormat อย่างง่าย
ในการระบุรูปแบบเวลาให้ใช้สตริงรูปแบบเวลา ในรูปแบบนี้ตัวอักษร ASCII ทั้งหมดสงวนไว้เป็นตัวอักษรรูปแบบซึ่งกำหนดไว้ดังต่อไปนี้ -
ตัวละคร | คำอธิบาย | ตัวอย่าง |
---|---|---|
ช | ผู้กำหนดยุค | ค.ศ. |
ย | ปีเป็นตัวเลขสี่หลัก | พ.ศ. 2544 |
ม | เดือนในปี | กรกฎาคมหรือ 07 |
ง | วันในเดือน | 0 |
ซ | ชั่วโมงใน AM / PM (1 ~ 12) | 2 |
ซ | ชั่วโมงในวัน (0 ~ 23) | 22 |
ม | นาทีในชั่วโมง | 30 |
เอส | วินาทีในหนึ่งนาที | 55 |
ส | มิลลิวินาที | 234 |
จ | วันในสัปดาห์ | วันอังคาร |
ง | วันในปี | 360 |
ฉ | วันของสัปดาห์ในเดือน | 2 (วันพุธที่สองของเดือนกรกฎาคม) |
ว | สัปดาห์ในปี | 40 |
ว | สัปดาห์ในเดือน | |
ก | เครื่องหมาย AM / PM | น |
k | ชั่วโมงในวัน (1 ~ 24) | 24 |
เค | ชั่วโมงใน AM / PM (0 ~ 11) | 0 |
z | เขตเวลา | เวลามาตรฐานตะวันออก |
' | Escape สำหรับข้อความ | ตัวคั่น |
" | ใบเสนอราคาเดียว | ` |
สำหรับรายการวิธีการคงที่ที่พร้อมใช้งานทั้งหมดในการจัดการวันที่คุณสามารถอ้างถึงเอกสาร Java มาตรฐาน