5

मेरे पास पूर्व के लिए मिलीसेकंड में समय है। 1308700800000; मुझे इसे Jun 9'11 at 02:15 PM जैसे कुछ रूपांतरित करने की आवश्यकता है।मिलीसेकंड से कस्टम दिनांक और समय स्ट्रिंग

मैं

SimpleDateFormat format = new SimpleDateFormat("MMM D'\''YY"); 

उपयोग करने की कोशिश, लेकिन मैं एक अपवाद प्राप्त करें:

Caused by: java.lang.IllegalArgumentException: Unterminated quote 

किसी भी मदद अत्यधिक सराहना की जाएगी।

+0

कृपया कुछ कोड और पूर्ण अपवाद ट्रेस जोड़ने – fmucar

+3

http://joda-time.sourceforge.net/ अपने जीवन इतना आसान हो जाएगा जब में दिनांक और समय से निपटने जावा – NimChimpsky

उत्तर

11

यह अपवाद संदेश से स्पष्ट है कि समस्या आपकी प्रारूप स्ट्रिंग के साथ झूठ बोलने जा रही है, विशेष रूप से सिंगल कोट भाग के आसपास।

documentation को देखते हुए, हम देख सकते हैं:

पाठ सिंगल कोट्स (') का उपयोग कर व्याख्या से बचने के लिए उद्धृत किया जा सकता है। "" "एक एकल उद्धरण का प्रतिनिधित्व करता है।

इस प्रकार मैं (उस तिथि भाग के लिए, के रूप में अपने मौजूदा उदाहरण प्रति) अपने प्रारूप का मानना ​​है कि हो सकता है के रूप में सरल रूप में

new SimpleDateFormat("MMM d''yy") 

वहाँ शामिल बैकस्लैश प्राप्त करने के लिए कोई ज़रूरत नहीं होना चाहिए।

+0

'java.lang.IllegalArgumentException: अवैध पैटर्न चरित्र 'वाई' – oliholz

+0

क्षमा करें, मैं apostrophes के साथ वाक्यविन्यास समस्याओं पर ध्यान केंद्रित कर रहा था और इस प्रकार उन्हें मौजूदा प्रारूप में constrast के माध्यम से डालने पर ध्यान केंद्रित कर रहा था। इसे एक कॉपी-पेस्टेबल उत्तर बनाने के हित में, मैंने दिन और साल के तर्कों के मामले को अद्यतन किया है। –

+2

ग्रूवेक सुझाव के अनुसार कैप्स डी और वाई काम नहीं करते थे, इसने चाल सरल Simpleateform प्रारूप = नया SimpleDateFormat ("एमएमएम डी 'yy' 'hh: mm aaa') पर किया था; –

3

कोशिश:

import java.util.*; 
import java.text.*; 

class D { 
    public static void main(String ... args) { 
     System.out.println( 
      new SimpleDateFormat("MMM dd''yy") 
      .format(new Date(1308700800000L )) 
     ); 
    } 
} 

प्रिंट:

Jun 21'11 
2

Andrzej ठीक है, लेकिन डी कैप्स और वाई आप के लिए काम नहीं करेगा। दस्तावेज़ पढ़ें, लेकिन कि काम करना चाहिए:

SimpleDateFormat format = new SimpleDateFormat("MMM d''yy 'at' HH:mm:ss z") 
+1

SimpleDateFormat प्रारूप = नया SimpleDateFormat ("एमएमएम डी 'yy' एचएच: एमएम aaa"); चाल है .. –

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