2010-04-12 11 views
10

में दिनांक कैसे प्रारूपित करें मेरे पास एक लूप है जो हमारी साइट पर मौजूद सभी समाचार वस्तुओं के माध्यम से जाता है। फ़ील्ड में से एक तिथि ${newsitem.value['Date']} है, जो मिलीलिसेकंड में दी गई है। मैं इस तारीख को वेबपृष्ठ पर महीने/दिन/वर्ष प्रारूप में प्रदर्शित करना चाहता हूं। मैंने सोचा कि जेएसटीएल प्रारूप टैग, <fmt:formatDate>, मदद करेगा, लेकिन मैं सफल नहीं हुआ। क्या आपको पता है इसे कैसे किया जाता है?जेएसटीएल

<cms:contentaccess var="newsitem" /> 
<h2><c:out value="${newsitem.value['Title']}" /></h2> 
// display date here   
<c:out value="${newsitem.value['Text']}" escapeXml="false" /> 

उत्तर

36

हाँ JSTL formatDate टैग दिनांक वस्तु में टाइमस्टैम्प मान बदलने (जो अपवाद अपनी टिप्पणी में उल्लेख किया है को हल करने के लिए आवश्यक है) के साथ संयोजन में काम करना चाहिए।

, सुनिश्चित करें कि आप ठीक से JSP घोषणाओं

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> 

में fmt उपसर्ग को परिभाषित किया है उत्पादन प्रस्तुत दिनांक मान के लिए समय स्टाम्प परिवर्तित पहले। मैं yyyy-MM-dd का उपयोग format pattern के रूप में कर रहा हूं, dateFormat टैग other formatting options का भी समर्थन करता है।

<cms:contentaccess var="newsitem" /> 
<jsp:useBean id="newsDate" class="java.util.Date" /> 
<jsp:setProperty name="newsDate" property="time" value="${newsitem.value['Date']}" /> 
<h2><c:out value="${newsitem.value['Title']}" /></h2> 
<fmt:formatDate pattern="yyyy-MM-dd" value="${newsDate}" /> 
<c:out value="${newsitem.value['Text']}" escapeXml="false" /> 
+0

मैं इस पहले की कोशिश की है, लेकिन यह इस त्रुटि फेंकता है: "वर्ग java.util.Date के प्रकार वर्ग org.opencms.jsp.util.CmsJspContentAccessValueWrapper की 1270738800000 कनवर्ट नहीं कर सकता" –

+1

taglib यूआरआई एक 10 को इंगित करता है जेएसटीएल का साल पुराना संस्करण। कृपया अपग्रेड करें। – BalusC

+0

पुरानी यूआरआई को ढूंढने के लिए धन्यवाद, मैंने इसे अपग्रेड कर दिया है जैसा कि आपने सुझाव दिया है कि – BenM

संबंधित मुद्दे