आप महीने
के लिए डिफ़ॉल्ट प्रारूप प्रतीकों को बदल सकते हैं रोमन संख्या के लिए
DateFormatSymbols symbols = DateFormatSymbols.getInstance();
final String[] romanMonths = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII"};
symbols.setMonths(romanMonths);
SimpleDateFormat formatter = new SimpleDateFormat("dd MMMM yy", symbols);
System.out.println("My date " + formatter.parse("05 X 02"));
Here कैसे कस्टम स्वरूपण प्रतीकों की के बारे में एक अच्छा ट्यूटोरियल है।
आप के माध्यम से setMonths()
अद्यतन setShortMonths()
या पूरे महीने के माध्यम से या तो ही महीनों बदलने के लिए चुन सकते हैं: यहाँ JDK8
से
DateTimeFormatterBuilder के साथ एक संस्करण
static final ImmutableMap<Long, String> ROMAN_MONTHS = ImmutableMap.<Long, String>builder()
.put(1L, "I").put(2L, "II").put(3L, "III").put(4L, "IV").put(5L, "V")
.put(6L, "VI").put(7L, "VII").put(8L, "VIII").put(9L, "IX").put(10L, "X")
.put(11L, "XI").put(12L, "XII").build();
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendValue(ChronoField.DAY_OF_MONTH, 1, 2, SignStyle.NORMAL)
.appendLiteral(' ')
.appendText(ChronoField.MONTH_OF_YEAR, ROMAN_MONTHS)
.appendLiteral(' ')
.appendValue(ChronoField.YEAR, 4)
.toFormatter();
System.out.println("My date " + formatter.parse("5 X 2012"));
हाँ, यह संभव है। कृपया दिखाएं कि आपने अभी तक क्या प्रयास किया है और यह बताएं कि विशिष्ट समस्या क्या है। साथ ही, आप उस प्रारूप को बाईपास करके कैसे योजना बना रहे हैं जिसे 'दिनांक' वास्तव में पढ़ा जा सकता है? इस प्रतीत होता है मनमाने ढंग से आवश्यकता का कारण क्या है? – tnw
आप किस पार्सिंग का उपयोग करने की कोशिश कर रहे हैं - 'SimpleDateFormat'? क्या आपने 'SimpleDateFormat.setDateFormatSymbols' की कोशिश की है और प्रारूप प्रतीकों का एक सेट प्रदान किया है जहां महीने के नाम' I', 'II' आदि हैं? –