java.time
MadProgrammer द्वारा जवाब सही है, के बारे में विशेष रूप से टिप है Joda समय । जोडा-टाइम का उत्तराधिकारी अब जावा 8 में नए java.time पैकेज के रूप में बनाया गया है । यहाँ उदाहरण 8 जावा में कोड है।
जब दिनांक-समय (स्थानीय तिथि के विपरीत) के साथ काम कर रहे हों, तो आलोचनात्मक समय क्षेत्र । दिन का समय समय क्षेत्र पर निर्भर करता है। उदाहरण के लिए, भारत समय क्षेत्र है +05:30
, जबकि (साढ़े पांच घंटे आगे यूटीसी के) फ्रांस केवल एक घंटे आगे है। इसलिए भारत में एक नए दिन में एक दिन एक तारीख है जबकि फ्रांस में एक ही पल में "कल" की तारीख है। किसी भी समय क्षेत्र या ऑफसेट जानकारी का अभाव स्ट्रिंग उत्पादन बनाना अस्पष्टता पैदा कर रहा है। आपने YYYY-MM-DD आउटपुट के लिए कहा तो मैंने प्रदान किया, लेकिन मैं इसकी सिफारिश नहीं करता। इसके बजाय ISO_LOCAL_DATE
मैं ISO_DATE
इस उत्पादन प्राप्त करने के लिए इस्तेमाल किया होता:2014-02-25+05:30
ZoneId zoneId = ZoneId.of( "Asia/Kolkata" );
ZonedDateTime zonedDateTime = ZonedDateTime.now( zoneId );
DateTimeFormatter formatterOutput = DateTimeFormatter.ISO_LOCAL_DATE; // Caution: The "LOCAL" part means we are losing time zone information, creating ambiguity.
String output = formatterOutput.format( zonedDateTime );
सांत्वना दें…
System.out.println( "zonedDateTime: " + zonedDateTime );
System.out.println( "output: " + output );
जब चला…
zonedDateTime: 2014-02-25T14:22:20.919+05:30[Asia/Kolkata]
output: 2014-02-25
Joda समय
जोडा-टाइम लाइब्रेरी का उपयोग करने वाला समान कोड , java.time का अग्रदूत।
DateTimeZone zone = new DateTimeZone( "Asia/Kolkata" );
DateTime dateTime = DateTime.now( zone );
DateTimeFormatter formatter = ISODateTimeFormat.date();
String output = formatter.print( dateTime );
आईएसओ 8601
वैसे, आपके इनपुट स्ट्रिंग का वह प्रारूप एक मानक प्रारूप है, जो आईएसओ 8601 द्वारा परिभाषित कई आसान तिथि-समय स्ट्रिंग स्वरूपों में से एक है ।
Joda-Time और java.time दोनों आईएसओ 8601 प्रारूपों का उपयोग डिफ़ॉल्ट रूप से करते हैं जब विभिन्न दिनांक-समय मानों के स्ट्रिंग प्रतिनिधित्व को पार्स और उत्पन्न करते हैं।
Date
करने की कोशिश कर रहे हैं ?? दिनांक को प्रारूपित करने के लिए, बस , इसे पार्स करने के लिए, उपयोग करेंyyyy-MM-dd
yyyy-MM-dd
Date
format1.format(date)
format1.parse(someStringValueInTheCorrectFormat)