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