In this JSTL tutorial, let’s see how can we use dates and times with different formats in JSTL. Again will use the format taglib <%@ taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt” %> from JSTL to perform these operations.
Display the current time in JSTL
Set a date variable that will contain the value of the current Date() object from java.util package. By using
<c:set var="date" value="<%=new java.util.Date()%>" />
To display only time from date object use the attribute type=”time” under the <fmt:formatDate/> tag.
<c:set var="date" value="<%=new java.util.Date()%>" /> <br/>Time: <strong><fmt:formatDate type="time" value="${date}" /></strong>
Display Current date in JSTL
To display only date from date object use the attribute type=”date” under the <fmt:formatDate/> tag.
<c:set var="date" value="<%=new java.util.Date()%>" /> <br/>Date: <strong><fmt:formatDate type="date" value="${date}" /></strong>
Display current Date and Time in JSTL
To display date and time from date object use the attribute type=”both” under the <fmt:formatDate/> tag.
<c:set var="date" value="<%=new java.util.Date()%>" /> <br/>Date and Time: <strong><fmt:formatDate type="both" value="${date}" /></strong>
Display Date and Time according to the timeZone in JSTL
To display date and time according to the time zone from date object use the attribute type=”both” and timeZone=”GMT -1″ under the <fmt:formatDate/> tag.
<br/>Date and Time: <strong><fmt:formatDate type="both" value="${date}" timeZone="GMT -1" /></strong>
Date and time as per locale_id(country) time zone in JSTL
Set locale_id according to the country before displaying the date and time by using <fmt:setLocale value=”en_UK”/>
<fmt:setLocale value="en_UK"/> <br/>Date and Time: <strong><fmt:formatDate type="both" value="${date}" timeZone="GMT -1" /></strong>
Date format in MM/dd/yyyy in JSTL
To display the date or time and different formats JSTL has an attribute called pattern=”MM/dd/yyyy”. In this attribute, we can define the date format as per the requirement.
Date in new format <fmt:formatDate pattern="MM/dd/yyyy" value="${date}" />
Date and Time formatting example in JSTL
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page isELIgnored="false" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html> <html> <head> <meta charset="ISO-8859-1"> <title>Date and Time formatting in JSP using JSTL</title> </head> <body> <c:set var="date" value="<%=new java.util.Date()%>" /> <br/>Date and Time: <strong><fmt:formatDate type="both" value="${date}" /></strong> <br/>Date: <strong><fmt:formatDate type="date" value="${date}" /></strong> <br/>Time: <strong><fmt:formatDate type="time" value="${date}" /></strong> <br/>Date and Time: <strong><fmt:formatDate type="both" value="${date}" timeZone="GMT -1" /></strong> <br/> <fmt:setLocale value="en_UK"/> <br/>Date and Time: <strong><fmt:formatDate type="both" value="${date}" timeZone="GMT -1" /></strong> </body> </html>