The <fmt:formatDate> tag is used to format dates in a variety of ways.
Attribute
The <fmt:formatDate> tag has the following attributes −
Attribute | Description | Required | Default |
---|---|---|---|
Value | Date value to display | Yes | None |
type | DATE, TIME, or BOTH | No | date |
dateStyle | FULL, LONG, MEDIUM, SHORT, or DEFAULT | No | default |
timeStyle | FULL, LONG, MEDIUM, SHORT, or DEFAULT | No | default |
pattern | Custom formatting pattern | No | None |
timeZone | Time zone of the displayed date | No | Default time zone |
var | Name of the variable to store the formatted date | No | Print to page |
scope | Scope of the variable to store the formatted date | No | page |
The pattern attribute is used to specify even more precise handling of the date −
Code | Purpose | Sample |
---|---|---|
G | The era designator | AD |
y | The year | 2002 |
M | The month | April & 04 |
d | The day of the month | 20 |
h | The hour(12-hour time) | 12 |
H | The hour(24-hour time) | 0 |
m | The minute | 45 |
s | The second | 52 |
S | The millisecond | 970 |
E | The day of the week | Tuesday |
D | The day of the year | 180 |
F | The day of the week in the month | 2 (2nd Wed in month) |
w | The week in the year | 27 |
W | The week in the month | 2 |
a | The a.m./p.m. indicator | PM |
k | The hour(12-hour time) | 24 |
K | The hour(24-hour time) | 0 |
z | The time zone | Central Standard Time |
' | The escape for text | |
'' | The single quote |
Example
<%@ taglib prefix = "c" uri = "https://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix = "fmt" uri = "https://java.sun.com/jsp/jstl/fmt" %> <html> <head> <title>JSTL fmt:dateNumber Tag</title> </head> <body> <h3>Number Format:</h3> <c:set var = "now" value = "<% = new java.util.Date()%>" /> <p>Formatted Date (1): <fmt:formatDate type = "time" value = "${now}" /></p> <p>Formatted Date (2): <fmt:formatDate type = "date" value = "${now}" /></p> <p>Formatted Date (3): <fmt:formatDate type = "both" value = "${now}" /></p> <p>Formatted Date (4): <fmt:formatDate type = "both" dateStyle = "short" timeStyle = "short" value = "${now}" /></p> <p>Formatted Date (5): <fmt:formatDate type = "both" dateStyle = "medium" timeStyle = "medium" value = "${now}" /></p> <p>Formatted Date (6): <fmt:formatDate type = "both" dateStyle = "long" timeStyle = "long" value = "${now}" /></p> <p>Formatted Date (7): <fmt:formatDate pattern = "yyyy-MM-dd" value = "${now}" /></p> </body> </html>
The above code will generate the following result −
Date Format: Formatted Date (1): 14:27:18 Formatted Date (2): 23-Sep-2010 Formatted Date (3): 23-Sep-2010 14:27:18 Formatted Date (4): 23/09/10 14:27 Formatted Date (5): 23-Sep-2010 14:27:18 Formatted Date (6): 23 September 2010 14:27:18 GST Formatted Date (7): 2010-09-23