2016-07-03 6 views
6

के साथ समय मैं चरम सफेद जगह के साथ मेरी तारीख पार्स करने के लिए प्रतीत नहीं कर सकता।जावा 8 परिवर्तनीय दिन

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM d HH:mm:ss yyyy"); 
LocalDateTime dateTime = LocalDateTime.parse(date, formatter); 

यह स्वरूप मैं

Sat Jul 2 08:52:13 2016 
Sat Jul 12 08:52:13 2016 

स्वीकार करने के लिए मैं अगर मैं नीचे करने के लिए अपने फ़ॉर्मेटर बदलने पारित करने के लिए शीर्ष प्राप्त कर सकते हैं, लेकिन यह एक 2 अंकों की संख्या

साथ टूट जाएगा
EEE MMM d HH:mm:ss yyyy 
+0

यह एक विकल्प है: [डेटटाइमफॉर्मेट और जोडा के डेटटाइमफॉर्मेटर के बीच सूक्ष्म व्हाइटस्पेस हैंडलिंग अंतर को खत्म करना] (http://stackoverflow.com/q/19439821) – Tom

+0

यह एक अच्छा विचार है। मैंने आशा की थी कि उनका आधिकारिक उत्तर होगा, लेकिन यह एक साधारण संपादन है। धन्यवाद। – Pumphouse

उत्तर

6

आप अपने प्रारूप के लिए "ईईई एमएमएम पीपीडी एचएच: एमएम: एसएस वाई" के पैटर्न का प्रयास कर सकते हैं।

ppd दिन अधिक जानकारी के लिए DateTimeFormatter में 2.

पैड देखें संशोधक की चौड़ाई के लिए रिक्त स्थान के साथ बाईं तरफ गद्देदार आउटपुट।

+0

यह बहुत अच्छा काम करता है और स्ट्रिंग को स्वरूपित करने से पहले स्ट्रिंग को स्वरूपित करने की तुलना में वास्तव में एक साफ समाधान प्रतीत होता है जैसे substAll() उत्तर की आवश्यकता होती है। – Pumphouse