บทช่วยสอน Servlet การประมวลผลวันที่ ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ ได้รับวันและเวลาปัจจุบัน,เปรียบเทียบวัน,การใช้ SimpleDateFormat วันรูปแบบ,วันที่เรียบง่ายรูปแบบโค้ดรูปแบบ,
หนึ่งในข้อดีที่สำคัญที่สุดของการใช้ Servlet ที่สามารถนำมาใช้ในส่วนของแกน Java วิธีการใช้ได้ บทนี้จะอธิบายแพคเกจjava.util ที่ให้ไว้โดยชั้นวันที่Java ที่สุนทรีย์วันและเวลาปัจจุบัน
ระดับวันที่สนับสนุนทั้งสองก่อสร้าง ตัวสร้างครั้งแรกในการเริ่มต้นวัตถุที่วันและเวลาปัจจุบัน
Date( )
ตัวสร้างต่อไปนี้ยอมรับพารามิเตอร์ที่เท่ากับจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่ 1 มกราคม 1970 ในเวลาเที่ยงคืน
Date(long millisec)
เมื่อคุณมีวัตถุที่มีอยู่วันที่คุณสามารถเรียกวิธีใดวิธีหนึ่งดังต่อไปนี้จะใช้สนับสนุนวันที่:
序号 | 方法 & 描述 |
---|---|
1 | boolean after(Date date) 如果调用的 Date 对象中包含的日期在 date 指定的日期之后,则返回 true,否则返回 false。 |
2 | boolean before(Date date) 如果调用的 Date 对象中包含的日期在 date 指定的日期之前,则返回 true,否则返回 false。 |
3 | Object clone( ) 重复调用 Date 对象。 |
4 | int compareTo(Date date) 把调用对象的值与 date 的值进行比较。如果两个值是相等的,则返回 0。如果调用对象在 date 之前,则返回一个负值。如果调用对象在 date 之后,则返回一个正值。 |
5 | int compareTo(Object obj) 如果 obj 是 Date 类,则操作等同于 compareTo(Date)。否则,它会抛出一个 ClassCastException。 |
6 | boolean equals(Object date) 如果调用的 Date 对象中包含的时间和日期与 date 指定的相同,则返回 true,否则返回 false。 |
7 | long getTime( ) 返回 1970 年 1 月 1 日以来经过的毫秒数。 |
8 | int hashCode( ) 为调用对象返回哈希代码。 |
9 | void setTime(long time) 设置 time 指定的时间和日期,这表示从 1970 年 1 月 1 日午夜以来经过的时间(以毫秒为单位)。 |
10 | String toString( ) 转换调用的 Date 对象为一个字符串,并返回结果。 |
ได้รับวันและเวลาปัจจุบันใน Java Servlet เป็นเรื่องง่ายมาก คุณสามารถใช้toStringวันที่วัตถุเดียวของ()วิธีการส่งออกวันและเวลาปัจจุบันดังนี้
package com.w3big.test; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class CurrentDate */ @WebServlet("/CurrentDate") public class CurrentDate extends HttpServlet { private static final long serialVersionUID = 1L; public CurrentDate() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String title = "显示当前的日期和时间"; Date date = new Date(); String docType = "<!DOCTYPE html> \n"; out.println(docType + "<html>\n" + "<head><title>" + title + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title + "</h1>\n" + "<h2 align=\"center\">" + date.toString() + "</h2>\n" + "</body></html>"); } }
ตอนนี้ขอรวบรวม Servlet ข้างต้นและสร้างรายการที่เหมาะสมในไฟล์ web.xml ไปนี้:
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>CurrentDate</servlet-name> <servlet-class>com.w3big.test.CurrentDate</servlet-class> </servlet> <servlet-mapping> <servlet-name>CurrentDate</servlet-name> <url-pattern>/TomcatTest/CurrentDate</url-pattern> </servlet-mapping> </web-app>
จากนั้นเยี่ยมชม http: จะเรียก Servlet 8080 / TomcatTest / CurrentDate: // localhost นี้จะให้ผลลัพธ์ที่ต่อไปนี้:
พยายามฟื้นฟูของ URL http: // localhost: 8080 / TomcatTest / CurrentDate รีเฟรชทุกความแตกต่างไม่กี่วินาทีคุณจะหาเวลาการแสดงผล
ดังกล่าวข้างต้นคุณสามารถใช้ทุกวิธีการที่มีอยู่ใน Java เซิร์ฟเล็ต หากคุณจำเป็นต้องเปรียบเทียบสองวันเป็นวิธีการต่อไปนี้:
SimpleDateFormat เป็นชั้นที่เป็นรูปธรรมในสถานที่ที่มีความอ่อนไหวลักษณะการจัดรูปแบบและวันที่แยก SimpleDateFormat ช่วยให้คุณสามารถเลือกวันที่ใด ๆ ที่ผู้ใช้กำหนดรูปแบบและเวลาการจัดรูปแบบ
ลองปรับเปลี่ยนตัวอย่างข้างต้นดังต่อไปนี้:
package com.w3big.test; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class CurrentDate */ @WebServlet("/CurrentDate") public class CurrentDate extends HttpServlet { private static final long serialVersionUID = 1L; public CurrentDate() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String title = "显示当前的日期和时间"; Date dNow = new Date( ); SimpleDateFormat ft = new SimpleDateFormat ("yyyy.MM.dd hh:mm:ss E a "); String docType = "<!DOCTYPE html> \n"; out.println(docType + "<html>\n" + "<head><title>" + title + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title + "</h1>\n" + "<h2 align=\"center\">" + ft.format(dNow) + "</h2>\n" + "</body></html>"); } }
รวบรวม Servlet ก่อนหน้านี้อีกครั้งแล้วไปที่ http: จะเรียก Servlet 8080 / TomcatTest / CurrentDate นี้: // localhost นี้จะให้ผลลัพธ์ที่ต่อไปนี้:
ใช้สตริงโหมดการจัดกิจกรรมเพื่อระบุรูปแบบเวลา ในโหมดนี้ตัวอักษร ASCII ทั้งหมดจะถูกสงวนไว้เป็นตัวอักษรรูปแบบและตัวอักษรที่กำหนดไว้ดังต่อไปนี้:
ตัวละคร | ลักษณะ | ตัวอย่าง |
---|---|---|
G | ตัวบ่งชี้ยุค | AD |
Y | สี่ปีหลัก | 2001 |
M | เดือนของปี | หรือ 7 กรกฎาคม |
D | สองสามวันแรกของเดือน | 10 |
H | AM / PM ชั่วโมง (1-12) ด้วย | 12 |
H | ไม่กี่ชั่วโมงแรกของวัน (0-23) | 22 |
ม. | หนึ่งชั่วโมงของส่วนแรก | 30 |
s | จุดหนึ่งในไม่กี่วินาทีแรก | 55 |
S | มิลลิวินาที | 234 |
E | สัปดาห์ของสัปดาห์ | วันอังคาร |
D | สองสามวันแรกของปี | 360 |
F | สัปดาห์เป็นสัปดาห์ที่เดือนนี้ | 2 (สองฟิลด์เว้นส์เดย์ในเดือนกรกฎาคม) |
W | ไม่กี่สัปดาห์แรกของปีนี้ | 40 |
W | ไม่กี่สัปดาห์แรกของเดือนมกราคม | 1 |
AM / PM เครื่องหมาย | PM | |
K | ไม่กี่ชั่วโมงแรกของวัน (1-24) | 24 |
K | AM / PM ชั่วโมง (0-11) | 10 |
Z | โซนเวลา | เวลามาตรฐานตะวันออก |
' | หนีข้อความ | คั่น |
" | ราคาเดียว | ` |
สำหรับรายการที่สมบูรณ์ของวิธีการประมวลผลวันที่มีให้ดูคุณสามารถดูเอกสาร Java มาตรฐาน