ใช้ SimpleDateFormat สำหรับจัดรูปแบบวันที่/เวลา ตาม locale และ pattern ที่กำหนด
ตัวอย่าง: แสดงวันที่เวลารูปแบบกำหนดเอง
<%@ page import="java.io.*,java.util.*,javax.servlet.*,java.text.*" %>
<html>
<head><title>แสดงวันที่และเวลา</title></head>
<body>
<center><h1>แสดงวันที่และเวลา</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>
ผลลัพธ์
Display Current Date & Time Mon 2010.06.21 at 10:06:44 PM GMT+04:00
Pattern ตัวอักษรสำคัญ
| ตัวอักษร | ความหมาย | ตัวอย่าง |
|---|---|---|
| y | ปี | 2024 |
| M | เดือน | 06, Jun, June |
| d | วันของเดือน | 21 |
| E | วันของสัปดาห์ | Mon, Monday |
| h | ชั่วโมง (1-12) | 10 |
| H | ชั่วโมง (0-23) | 22 |
| m | นาที | 06 |
| s | วินาที | 44 |
| a | AM/PM | PM |
| z | Time zone | GMT+07:00 |
| 'text' | ข้อความคงที่ | at |
แนวทางปฏิบัติสมัยใหม่ (Java 8+)
ควรใช้ java.time package (LocalDateTime, DateTimeFormatter) แทน Date และ SimpleDateFormat เพราะ thread-safe และ API ดีกว่า
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
out.print(LocalDateTime.now().format(fmt));