2010-05-03 14 views
21

मेरे पास एक SimpleDateFormat ऑब्जेक्ट है जिसे मैं कुछ अंतर्राष्ट्रीयकरण उपयोगिताओं से पुनर्प्राप्त करता हूं। पार्सिंग तिथियां सभी ठीक और अच्छी हैं, लेकिन मैं अपने उपयोगकर्ताओं को "एमएम/डीडी/वाईय" जैसे प्रारूपण संकेत दिखाने में सक्षम होना चाहता हूं। क्या SimpleDateFormat ऑब्जेक्ट से स्वरूपण पैटर्न प्राप्त करने का कोई तरीका है?जावा से पैटर्न स्ट्रिंग प्राप्त करना SimpleDateFormat

उत्तर

4

toPattern() या toLocalizedPattern() विधि का उपयोग करें।

27

SimpleDateFormat.toPattern()

एक पैटर्न स्ट्रिंग इस दिनांक स्वरूप का वर्णन देता है।

+0

धन्यवाद, मुझे लगता है कि मैं काफी करीब नहीं दिख रहा था। – DLaw

+0

क्या आप मुझे बता सकते हैं, इस स्ट्रिंग से केवल दिनांक या समय पैटर्न कैसे प्राप्त करें? मैं तुलना और स्ट्रिंग जैसे स्ट्रिंग विधियों का उपयोग कर सकता हूं, लेकिन ऐसा करने से कहीं अधिक सुरुचिपूर्ण तरीका है? – ParagJ

4
import java.text.SimpleDateFormat; 

public class Sdf { 
    public static void main(String [] args) { 
     SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
     String patternToUse = sdf.toPattern(); 
     System.out.println(patternToUse); 
    } 
} 
4

तुम सिर्फ दिए गए स्थान के लिए एक पैटर्न स्ट्रिंग प्राप्त करने की आवश्यकता है, तो मेरे लिए काम किया है:

/* Obtain the time format per current locale */ 

public String getTimeFormat(int longfmt) { 
Locale loc = Locale.getDefault(); 
int jlfmt = 
    (longfmt == 1)?java.text.SimpleDateFormat.LONG:java.text.SimpleDateFormat.SHORT; 
    SimpleDateFormat sdf = 
    (SimpleDateFormat)SimpleDateFormat.getTimeInstance(jlfmt, loc); 
return sdf.toLocalizedPattern(); 
} 

/* Obtain the date format per current locale */ 

public String getDateFormat(int longfmt) { 
Locale loc = Locale.getDefault(); 
int jlfmt = 
    (longfmt == 1)?java.text.SimpleDateFormat.LONG:java.text.SimpleDateFormat.SHORT; 
    SimpleDateFormat sdf = 
    (SimpleDateFormat)SimpleDateFormat.getDateInstance(jlfmt, loc); 
return sdf.toLocalizedPattern(); 
} 

getDateInstance और getTimeInstance दिया स्थान के लिए यहाँ महत्वपूर्ण हैं।

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