2016-10-04 13 views
21

में स्वरूपण तिथि मैं जावा/स्प्रिंग/थाइमेलीफ के लिए नया ब्रांड हूं इसलिए कृपया मेरी वर्तमान समझ के स्तर को सहन करें। मैंने this similar question की समीक्षा की, लेकिन मेरी समस्या का समाधान करने में सक्षम नहीं था।थाइमेलीफ

मैं लंबी तिथि प्रारूप की बजाय सरलीकृत तिथि प्राप्त करने का प्रयास कर रहा हूं।

// DateTimeFormat annotation on the method that's calling the DB to get date. 
@DateTimeFormat(pattern="dd-MMM-YYYY") 
public Date getReleaseDate() { 
    return releaseDate; 
    } 



// HTML 
<table> 
<tr th:each="sprint : ${sprints}"> 
    <td th:text="${sprint.name}"></td> 
    <td th:text="${sprint.releaseDate}"></td> 
</tr> 

वर्तमान उत्पादन

sprint1 2016-10-04 14:10:42.183 

उत्तर

41

बीन सत्यापन कोई फर्क नहीं पड़ता, आप Thymeleaf स्वरूपण का उपयोग करना चाहिए:

<td th:text="${#dates.format(sprint.releaseDate, 'dd-MMM-yyyy')}"></td> 

यह भी सुनिश्चित करें अपने releaseDate संपत्ति java.util.Date है या नहीं।

आउटपुट हो जाएगा की तरह: 04-Oct-2016

+5

मैं सिर्फ यह यहाँ छोड़ देंगे: यदि आप कर रहे हैं Thymeleaf –

11

आप में वें कन्वर्टर्स उपयोग करना चाहते हैं: पाठ गुण, आप डबल ब्रैकेट सिंटैक्स का उपयोग करने के लिए है।

<td th:text="${{sprint.releaseDate}}"></td> 

(वे स्वचालित रूप से th लागू होते हैं: क्षेत्र विशेषताओं)

http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#double-bracket-syntax

+0

में "तिथियों" के बजाय लोकलडेट या लोकलडेट टाइम का उपयोग "टेम्पोरल्स" का उपयोग करें क्या डबल-ब्रैकेट कनवर्टर का प्रारूप कॉन्फ़िगर करने का कोई तरीका है? –

+0

@ डेविड ट्रॉययर यह सामान्य रूप से ऐसा करने के तरीके के साथ काम करता है - आप '@ डेटटाइमफॉर्मैट' (केवल प्रश्न की तरह) का उपयोग कर सकते हैं, तो आप अपनी '@ कॉन्फ़िगरेशन' कक्षा को 'WebMvcConfigurerAdapter'' बढ़ा सकते हैं और जोड़ने के लिए addFormatters को ओवरराइड कर सकते हैं एक कनवर्टर <तिथि, स्ट्रिंग> ', आदि ... – Metroids

0

आप Thymeleaf स्वरूपण मिलीसेकेंड

का उपयोग करना चाहिए
<td th:text="${#dates.format(new java.util.Date(transaction.documentDate), 'dd-MMM-yy')}"></td> 
संबंधित मुद्दे