Tag <fmt:formatDate> จัดรูปแบบ Date object ให้เป็น String ตาม pattern/style/locale ที่ต้องการ
Attributes
| Attribute | คำอธิบาย | Required | Default |
|---|---|---|---|
| value | Date object ที่จะ format | Yes | - |
| type | DATE, TIME, BOTH | No | date |
| dateStyle | FULL, LONG, MEDIUM, SHORT, DEFAULT | No | default |
| timeStyle | FULL, LONG, MEDIUM, SHORT, DEFAULT | No | default |
| pattern | Custom pattern (SimpleDateFormat) | No | - |
| timeZone | Time zone สำหรับแสดงผล | No | Default |
| var | Variable เก็บ formatted string | No | Print to page |
| scope | Scope ของ var | No | page |
Pattern Reference
| Code | Meaning | Example |
|---|---|---|
| y | Year | 2024 |
| M | Month | 06, Jun, June |
| d | Day of month | 20 |
| E | Day of week | Thu, Thursday |
| H | Hour (0-23) | 14 |
| h | Hour (1-12) | 02 |
| m | Minute | 30 |
| s | Second | 59 |
| a | AM/PM | PM |
| z | Time zone | ICT, GMT+07:00 |
| 'text' | Literal text | at |
ตัวอย่างหลากหลายรูปแบบ
<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="https://java.sun.com/jsp/jstl/fmt" %>
<html>
<body>
<c:set var="now" value="${new java.util.Date()}"/>
<p>Time only: <fmt:formatDate type="time" value="${now}"/></p>
<p>Date only: <fmt:formatDate type="date" value="${now}"/></p>
<p>Date & Time: <fmt:formatDate type="both" value="${now}"/></p>
<p>Short: <fmt:formatDate type="both" dateStyle="short" timeStyle="short" value="${now}"/></p>
<p>Medium: <fmt:formatDate type="both" dateStyle="medium" timeStyle="medium" value="${now}"/></p>
<p>Long: <fmt:formatDate type="both" dateStyle="long" timeStyle="long" value="${now}"/></p>
<p>Custom: <fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${now}"/></p>
<p>Thai Locale: <fmt:formatDate type="both" dateStyle="full" timeStyle="short" value="${now}"/></p>
</body>
</html>
ผลลัพธ์ตัวอย่าง
Time only: 14:27:18 Date only: 23-Sep-2010 Date & Time: 23-Sep-2010 14:27:18 Short: 23/09/10 14:27 Medium: 23-Sep-2010 14:27:18 Long: 23 September 2010 14:27:18 ICT Custom: 2010-09-23 14:27:18 Thai Locale: วันพุธที่ 23 กันยายน 2553 14:27
Java 8+ Recommendation
ใน Controller/Service ใช้ java.time.LocalDateTime + DateTimeFormatter แล้วส่ง formatted string มา JSP แค่แสดง (Scriptless JSP)