tl; डॉ
java.time.Instant
UTC में एक पल का प्रतिनिधित्व करते हुए, मानक ISO 8601 प्रारूप में पाठ को पार्स करने के लिए कक्षा का उपयोग करें ।
Instant.parse( "2010-10-02T12:23:23Z" )
आईएसओ 8601
उस प्रारूप को तारीख-समय के स्ट्रिंग स्वरूपों के लिए आईएसओ 8601 मानक द्वारा परिभाषित किया गया है ।
दोनों:
... आईएसओ 8601 स्वरूपों का उपयोग डिफ़ॉल्ट रूप से पार्स करने और स्ट्रिंग उत्पन्न करने के लिए किया जाता है।
आपको आम तौर पर पुराने java.util.Date /.Calendar & java.text.SimpleDateFormat कक्षाओं का उपयोग करने से बचना चाहिए क्योंकि वे कुख्यात परेशान, भ्रमित और त्रुटिपूर्ण हैं। यदि इंटरऑपरेटिंग के लिए आवश्यक है, तो आप इसे मेंढक में बदल सकते हैं।
java.time
जावा 8 में निर्मित और बाद में नया जावा.टाइम फ्रेमवर्क है। जेएसआर 310 द्वारा परिभाषित, जोडा-टाइम से प्रेरित और थ्रीटेन-एक्स्ट्रा प्रोजेक्ट द्वारा विस्तारित ।
Instant instant = Instant.parse( "2010-10-02T12:23:23Z" ); // `Instant` is always in UTC.
पुरानी कक्षा में परिवर्तित करें।
java.util.Date date = java.util.Date.from( instant ); // Pass an `Instant` to the `from` method.
समय क्षेत्र
यदि आवश्यक हो, तो आप एक समय क्षेत्र असाइन कर सकते हैं।
ZoneId zoneId = ZoneId.of( "America/Montreal" ); // Define a time zone rather than rely implicitly on JVM’s current default time zone.
ZonedDateTime zdt = ZonedDateTime.ofInstant( instant , zoneId ); // Assign a time zone adjustment from UTC.
कनवर्ट करें।
java.util.Date date = java.util.Date.from( zdt.toInstant() ); // Extract an `Instant` from the `ZonedDateTime` to pass to the `from` method.
Joda समय
अद्यतन: जोडा-टाइम परियोजना अब रखरखाव मोड में है। टीम java.time कक्षाओं में प्रवास की सलाह देती है ।
यहाँ कुछ उदाहरण कोड Joda-Time 2.8 में है।
org.joda.time.DateTime dateTime_Utc = new DateTime( "2010-10-02T12:23:23Z" , DateTimeZone.UTC ); // Specifying a time zone to apply, rather than implicitly assigning the JVM’s current default.
पुरानी कक्षा में परिवर्तित करें। ध्यान दें कि निर्धारित समय क्षेत्र रूपांतरण में खो गया है, क्योंकि juate को समय क्षेत्र नहीं सौंपा जा सकता है।
java.util.Date date = dateTime_Utc.toDate(); // The `toDate` method converts to old class.
समय क्षेत्र
यदि आवश्यक हो, तो आप एक समय क्षेत्र असाइन कर सकते हैं।
DateTimeZone zone = DateTimeZone.forID( "America/Montreal" );
DateTime dateTime_Montreal = dateTime_Utc.withZone ( zone );
जावा के बारे में
Java.time ढांचे जावा 8 और बाद में बनाया गया है। इन कक्षाओं परेशानी वर्ष प्रतिस्थापित विरासत जैसे तिथि-समय कक्षाएं java.util.Date
, Calendar
, और SimpleDateFormat
।
Joda समय परियोजना, अब में रखरखाव मोड , प्रवास करने की सलाह देता java.time कक्षाएं।
अधिक जानने के लिए, Oracle ट्यूटोरियल देखें । और कई उदाहरणों और स्पष्टीकरणों के लिए ढेर अतिप्रवाह खोजें। विशिष्टता JSR 310 है ।
आप अपने डेटाबेस से सीधे java.time वस्तुओं का आदान-प्रदान कर सकते हैं । JDBC 4.2 या उसके बाद के JDBC ड्राइवर का अनुपालन करें । तारों की कोई जरूरत नहीं, कक्षाओं की कोई जरूरत नहीं ।java.sql.*
Java.time कक्षाएं कहाँ से प्राप्त करें?
ThreeTen-अतिरिक्त परियोजना अतिरिक्त कक्षाओं के साथ java.time फैली हुई है। यह परियोजना java.time के लिए भविष्य के संभावित अतिरिक्त के लिए एक साबित जमीन है। आप यहाँ कुछ उपयोगी वर्गों जैसे मिल सकता है Interval
, YearWeek
, YearQuarter
, और अधिक ।