JSP में JSTL fmt:formatDate टैग का उपयोग करके तिथि फॉर्मेट करना
JSTL का <fmt:formatDate> टैग एक java.util.Date (या संगत) ऑब्जेक्ट को विभिन्न पूर्वनिर्धारित शैलियों या कस्टम पैटर्न का उपयोग करके फॉर्मेटेड स्ट्रिंग में बदलता है।
विशेषताएँ
| विशेषता | विवरण | आवश्यक | डिफ़ॉल्ट |
| value | फॉर्मेट की जाने वाली तिथि (java.util.Date) | हाँ | कोई नहीं |
| type | DATE, TIME, या BOTH | नहीं | date |
| dateStyle | FULL, LONG, MEDIUM, SHORT, DEFAULT | नहीं | default |
| timeStyle | FULL, LONG, MEDIUM, SHORT, DEFAULT | नहीं | default |
| pattern | कस्टम फॉर्मेटिंग पैटर्न (SimpleDateFormat संगत) | नहीं | कोई नहीं |
| timeZone | प्रदर्शित तिथि का समय क्षेत्र | नहीं | डिफ़ॉल्ट समय क्षेत्र |
| var | फॉर्मेटेड तिथि संग्रहीत करने के लिए चर नाम | नहीं | पेज पर प्रिंट |
| scope | चर का स्कोप (page, request, session, application) | नहीं | page |
पैटर्न अक्षर और उदाहरण
| कोड | उद्देश्य | नमूना |
| G | युग नामकर्ता | AD |
| y | वर्ष | 2024 |
| M | महीना | July, Jul, 07 |
| d | महीने का दिन | 10 |
| h | घंटा (1-12) | 12 |
| H | घंटा (0-23) | 0 |
| m | मिनट | 45 |
| s | सेकंड | 52 |
| S | मिलीसेकंड | 970 |
| E | सप्ताह का दिन | Tuesday |
| D | वर्ष का दिन | 180 |
| F | महीने में सप्ताह का दिन | 2 (महीने का दूसरा बुधवार) |
| w | वर्ष में सप्ताह | 27 |
| W | महीने में सप्ताह | 2 |
| a | AM/PM मार्कर | PM |
| k | घंटा (1-24) | 24 |
| K | घंटा (0-11) | 0 |
| z | समय क्षेत्र | IST |
| ' | टेक्स्ट के लिए एस्केप | - |
| '' | एकल उद्धरण | ' |
व्यापक उदाहरण
<%@ 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:formatDate Tag</title>
</head>
<body>
<h3>Date 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>
नमूना आउटपुट (दिनांक/समय के अनुसार भिन्न)
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
पूर्वनिर्धारित शैली विवरण
| शैली | तिथि उदाहरण | समय उदाहरण |
| SHORT | 23/09/10 | 14:27 |
| MEDIUM | 23-Sep-2010 | 14:27:18 |
| LONG | 23 September 2010 | 14:27:18 GST |
| FULL | Thursday, 23 September 2010 | 14:27:18 GST |
आम पैटर्न उदाहरण
<fmt:formatDate pattern="yyyy-MM-dd" value="${date}"/> <!-- 2024-12-31 -->
<fmt:formatDate pattern="dd/MM/yyyy" value="${date}"/> <!-- 31/12/2024 -->
<fmt:formatDate pattern="MMM dd, yyyy" value="${date}"/> <!-- Dec 31, 2024 -->
<fmt:formatDate pattern="EEEE, MMMM dd, yyyy" value="${date}"/> <!-- Tuesday, December 31, 2024 -->
<fmt:formatDate pattern="HH:mm:ss" value="${date}"/> <!-- 14:30:45 -->
<fmt:formatDate pattern="hh:mm a" value="${date}"/> <!-- 02:30 PM -->
<fmt:formatDate pattern="yyyy-MM-dd'T'HH:mm:ssXXX" value="${date}"/> <!-- ISO 8601: 2024-12-31T14:30:45+05:30 -->
चर में संग्रहीत करना
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd" var="formattedDate" scope="request"/>
<c:out value="${formattedDate}"/>
समय क्षेत्र संचालन
<fmt:formatDate value="${now}" timeZone="UTC" pattern="yyyy-MM-dd HH:mm:ss z"/>
<fmt:formatDate value="${now}" timeZone="America/New_York" pattern="yyyy-MM-dd HH:mm:ss z"/>
स्थानीय-विशिष्ट फॉर्मेटिंग
<fmt:setLocale> टैग या पेज निर्देश का उपयोग करें:
<%@ page pageEncoding="UTF-8" %>
<fmt:setLocale value="hi_IN"/>
<fmt:formatDate value="${now}" dateStyle="FULL" type="date"/>
-- हिंदी में आउटपुट: मंगलवार, 31 दिसंबर 2024
सर्वोत्तम अभ्यास
- उत्पादन में
pattern का उपयोग करें सुसंगत, अनुमानित आउटपुट के लिए
- API/डेटा विनिमय के लिए ISO 8601 (
yyyy-MM-dd'T'HH:mm:ssXXX) पसंद करें
var/scope का उपयोग करके पेज में पुन: उपयोग करें
- उपयोगकर्ता-सामना करने वाली तिथियों के लिए स्थानीय विचार करें
- समय क्षेत्र संवेदनशील एप्लिकेशन के लिए
timeZone निर्दिष्ट करें
fmt:parseDate और fmt:formatDate साथ में
<c:set var="input" value="31-12-2024"/>
<fmt:parseDate value="${input}" pattern="dd-MM-yyyy" var="parsedDate"/>
<fmt:formatDate value="${parsedDate}" pattern="MMMM dd, yyyy" var="output"/>
<p>Input: ${input} → Output: ${output}</p>
-- Output: December 31, 2024