JSTL Format Tag fmt:formatDate Example
- Details
- Written by Nam Ha Minh
- Last Updated on 31 August 2019   |   Print Email
In this post, you will learn how to use the <fmt:formatDate> tag in the JSTL format tags library with code example.
We use <fmt:formatDate> tag to format the date or time information using provided styles and pattern.
JSTL <fmt:formatDate> Syntax:
<fmt:formatDate
value="<string>"
type="<string>"
dateStyle="<string>"
timeStyle="<string>"
pattern="<string>"
timeZone="<string>"
var="<string>"
scope="<string>"/>
Attributes:
Name | Required | Type | Description |
value | True | java.lang.String | Date or time to be formatted. |
type | False | java.lang.String | Determines whether date or time or both to be formatted in the given date. |
dateStyle | False | java.lang.String | Formatting style for date. The date format can be specified with similar semantics in class java.text.DateFormat. |
timeStyle | False | java.lang.String | Formatting style for time. The time format can be specified with similar semantics in class java.text.DateFormat. |
pattern | False | java.lang.String | Pattern to be used for date and time when formatting. |
timeZone | False | java.lang.String | Time zone to represent for the formatted time. |
var | False | java.lang.String | Name of the variable to store the resulted formatted date or time. |
scope | False | java.lang.String | Scope to store the var. |
JSTL <fmt:formatDate> Example:
The following JSP code displays the date and time information in various formats:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title><fmt:formatDate> Demo</title> </head> <body> <h1><fmt:formatDate> Demo</h1> <c:set var="today" value="<%=new java.util.Date()%>" /> <p>Time: <strong><fmt:formatDate type="time" value="${today}" /></strong></p> <p>Date: <strong><fmt:formatDate type="date" value="${today}" /></strong></p> <p>Date & Time: <strong><fmt:formatDate type="both" value="${today}" /></strong></p> <p>Date & Time Short: <strong> <fmt:formatDate type="both" dateStyle="short" timeStyle="short" value="${today}" /> </strong> </p> <p>Date & Time Medium: <strong> <fmt:formatDate type="both" dateStyle="medium" timeStyle="medium" value="${today}" /> </strong></p> <p>Date & Time Long: <strong> <fmt:formatDate type="both" dateStyle="long" timeStyle="long" value="${today}" /> </strong></p> <p>Date (yyyy-MM-dd): <strong> <fmt:formatDate pattern="yyyy-MM-dd" value="${today}" /> </strong></p> </body> </html>
Output:
Recommended Usage of JSTL <fmt:formatDate> tag:
The <fmt:formatDate> is very useful tag to display date and time in various formats we needed. Using the pattern we can have custom formatting options. The following table summarizes constructs on how to specify a pattern to display a date time value in this tag.
Code | Description | Example |
G | Designates the era | AD |
y | Represents the year | 2012 |
M | Represents the month | December & 12 |
d | Represents the day of the month | 21 |
h | Represents the hour in 12 hr format | 12 |
H | Represents the hour in 24 hr format | 22 |
m | Represents the minute | 30 |
s | Represents the second | 50 |
S | Represents the millisecond | 234 |
E | The day of the week | Sunday |
D | The day of the year | 90 |
F | The day of the week in the month | 3 (3rd Thu in the month) |
w | Represents the week in the year | 45 |
W | Represents the week in the month | 4 |
a | AM/PM indicator | am |
k | Represents the hour (12 hr time) | 24 |
K | Represents the hour (24 hr time) | 0 |
z | Represents time zone | IST |
' (single quote)
| Escape for text | |
'' (double quotes)
| Single quote (escaped by another single quote) |
Other JSTL Format Tags:
bundle | formatNumber | message | param | parseDate | parseNumber | requestEncoding | setBundle | setLocale | setTimeZone | timeZone
Comments