2015-08-05 6 views
13

मुझे अपनी परियोजना में स्प्रिंग बूट के साथ स्प्रिंग डेट रेस्ट का उपयोग किया गया है। इस प्रोजेक्ट में एक ऑब्जेक्ट है और मैंने अपने जेसन से प्राप्त होने वाले दिनांक फ़ील्ड को प्रारूपित करने के लिए एनोटेशन @ जेसनफ़ॉर्मैट का उपयोग किया है। फ़ील्ड दिनांक का प्रारूप "डीडी/एमएम/yyyy" है। जब मैं अपने जेसन में "08/07/1980" मान भेजता हूं तो जैक्सन मूल्य "07/07/1980" में परिवर्तित हो जाता है।जैक्सन @ जेसनफॉर्मैट सेट एक दिन से कम

समस्या @JsonFormat एक दिन कम

साथ तारीख तय है कि यह मेरा स्रोत कोड है

@Temporal(TemporalType.DATE) 
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy", locale = "pt-BR", timezone = "UTC") 
private Date birthDate; 

धन्यवाद

+0

मुझे लगता है कि आपका बैकएंड का अनुरोध करते समय आपका मतलब है। क्या क्लाइंट ब्राउज़र या कुछ प्रकार का आरईएसटी उपकरण है? एक ही समय क्षेत्र में ग्राहक और सर्वर दोनों हैं? – franDayz

+1

मेरा पहला अनुमान यह है कि चूंकि आप यूटीसी का उपयोग कर रहे हैं और घंटे और सेकंड छोड़ रहे हैं, इसलिए ब्राजील और यूटीसी के बीच ऑफसेट लागू किया जा रहा है क्योंकि समय की जानकारी का नुकसान हुआ है। एक त्वरित प्रयास के रूप में आप लोकेल संपत्ति को एनोटेशन से छोड़ सकते हैं और इसके बजाय इस पैटर्न का उपयोग कर सकते हैं "yyyy-MM-dd'T'HH: mm: ss.SSSZ" जिसमें टाइमज़ोन जानकारी और मिलीसेकंड शामिल हैं, इसलिए इससे क्लाइंट का प्रतिनिधित्व कोई फर्क नहीं पड़ता – franDayz

उत्तर

18

मैं का उपयोग कर मेरी समस्या हल हो गई है:

@Temporal(TemporalType.DATE) 
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy", locale = "pt-BR", timezone = "Brazil/East") 
private Date birthDate; 

मैंने टाइमज़ोन बदल दिया "ब्राजील/पूर्वी" या "America/Sao_Paulo" और अब काम कर रहा

धन्यवाद

+1

चुनता है मुझे एक ही समस्या थी, धन्यवाद! – victorleduc

+0

अच्छा शॉट ...... – deFreitas

+0

एक ही समस्या, एक ही समाधान :)) – Samrat

2

@ विलियम की जवाब काम करता है, लेकिन आप अपने application.properties के लिए, इन लाइनों जोड़ना चाहिए करने के बजाय फाइल:

spring.jackson.time-zone=Brazil/East 
spring.jackson.locale=pt-BR 

में इस तरह, आप समय-क्षेत्र और लोकेल केवल एक बार इंगित करते हैं, और यह आपके आवेदन की सभी तारीखों से संबंधित है।

+0

यह मेरे लिए काम किया –

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