इंस्टेंट और लोकल डेटाइम में क्या अंतर है?


256

मुझे पता है:

  • तत्काल कंप्यूटिंग के लिए एक "तकनीकी" टाइमस्टैम्प प्रतिनिधित्व (नैनोसेकंड) है।
  • LocalDateTime मनुष्यों के लिए समय-क्षेत्र सहित तारीख / घड़ी प्रतिनिधित्व है।

अभी भी अंत में IMO दोनों को अधिकांश एप्लिकेशन उपयोग-मामलों के लिए प्रकार के रूप में लिया जा सकता है। उदाहरण के रूप में: वर्तमान में मैं एक बैच की नौकरी चला रहा हूँ जहाँ मुझे तारीखों के आधार पर एक अगले रन की गणना करने की आवश्यकता है और मैं इन दोनों प्रकारों के बीच एक पेशेवरों / विपक्ष को खोजने के लिए संघर्ष कर रहा हूँ (इसके अलावा झटपट और समय-क्षेत्र भाग के नैनोसेकंड सटीक लाभ के अलावा) of LocalDateTime)।

क्या आप कुछ एप्लिकेशन उदाहरणों को नाम दे सकते हैं, जहां केवल इंस्टेंट या लोकलडेट टाइम का उपयोग किया जाना चाहिए?

संपादित करें: परिशुद्धता और समय-क्षेत्र के बारे में LocalDateTime के लिए गलत दस्तावेज़ों से सावधान रहें


तत्काल अधिक प्राथमिक है, यूटीसी के लिए मानक लंबे समय तक लपेटता है। बैच जैसे क्रॉन के लिए इतना तार्किक विकल्प नहीं।
जोप एगेगन

37
गलत परिभाषा। LocalDateTimeकरता नहीं एक समय क्षेत्र है!
बेसिल बोर्क

जवाबों:


834

जावा में सभी तिथि-समय प्रकारों की तालिका, दोनों आधुनिक और विरासत

tl; डॉ

Instantऔर LocalDateTimeदो पूरी तरह से अलग जानवर हैं: एक एक पल का प्रतिनिधित्व करता है, दूसरा नहीं करता है।

  • Instant समय में एक विशिष्ट बिंदु का प्रतिनिधित्व करता है।
  • LocalDateTimeएक तारीख और दिन के समय का प्रतिनिधित्व करता है। लेकिन समय क्षेत्र या ऑफ़सेट-यूटीसी की कमी के कारण, यह वर्ग एक पल का प्रतिनिधित्व नहीं कर सकता है । यह लगभग 26 से 27 घंटे की सीमा के साथ संभावित क्षणों का प्रतिनिधित्व करता है , दुनिया भर के सभी समय क्षेत्रों की सीमा।

गलत अनुमान

LocalDateTime मनुष्यों के लिए समय-क्षेत्र सहित तारीख / घड़ी प्रतिनिधित्व है।

आपका कथन गलत है: A LocalDateTimeका कोई समय क्षेत्र नहीं है । कोई समय क्षेत्र नहीं होने से उस वर्ग का पूरा बिंदु है।

उस वर्ग को उद्धृत करने के लिए 'डॉक्टर:

यह वर्ग किसी समय-क्षेत्र को संग्रहीत या प्रस्तुत नहीं करता है। इसके बजाय, यह तिथि का वर्णन है, जैसा कि जन्मदिन के लिए उपयोग किया जाता है, स्थानीय समय के साथ संयुक्त रूप से एक दीवार घड़ी पर देखा जाता है। यह ऑफ़सेट या टाइम-ज़ोन जैसी अतिरिक्त जानकारी के बिना समय-रेखा पर एक पल का प्रतिनिधित्व नहीं कर सकता है।

तो Local…इसका मतलब है "ज़ोनड नहीं, ऑफ़सेट"।

Instant

यहां छवि विवरण दर्ज करें

एक Instantमें समय रेखा पर एक पल है यूटीसी , की गिनती नैनोसेकंड 1970 यूटीसी (मूल रूप से, बुनियादी तथ्य जानकारी के लिए वर्ग दस्तावेज़ नहीं देख) के पहले पल की अवधि के बाद। चूंकि आपके अधिकांश व्यावसायिक तर्क, डेटा संग्रहण और डेटा विनिमय UTC में होना चाहिए, इसलिए यह अक्सर उपयोग किए जाने वाला एक आसान वर्ग है।

Instant instant = Instant.now() ;  // Capture the current moment in UTC.

OffsetDateTime

यहां छवि विवरण दर्ज करें

क्लास OffsetDateTimeक्लास यूटीसी के आगे या पीछे कुछ घंटों-मिनटों की संख्या के संदर्भ में एक तारीख और समय के रूप में एक क्षण का प्रतिनिधित्व करता है। ऑफ़सेट की मात्रा, घंटे-मिनट-सेकंड की संख्या, ZoneOffsetवर्ग द्वारा दर्शायी जाती है।

यदि घंटे-मिनट-सेकंड की संख्या शून्य है, तो OffsetDateTimeUTC में एक क्षण को एक के रूप में दर्शाता है Instant

ZoneOffset

यहां छवि विवरण दर्ज करें

ZoneOffsetवर्ग का प्रतिनिधित्व करता है एक ऑफसेट-यूटीसी से , यूटीसी के आगे या पीछे यूटीसी घंटे मिनट सेकंड के एक नंबर।

A ZoneOffsetकेवल घंटे-मिनट-सेकंड की एक संख्या है, अधिक कुछ नहीं। एक क्षेत्र बहुत अधिक है, एक नाम है और ऑफसेट करने के लिए परिवर्तनों का इतिहास है। इसलिए एक क्षेत्र का उपयोग करना हमेशा एक मात्र ऑफसेट का उपयोग करना बेहतर होता है।

ZoneId

यहां छवि विवरण दर्ज करें

एक समय क्षेत्र को ZoneIdकक्षा द्वारा दर्शाया जाता है ।

एक नया दिन पेरिस में मॉन्ट्रियल की तुलना में पहले का है , उदाहरण के लिए। इसलिए हमें किसी दिए गए क्षेत्र के लिए दोपहर (जब सूर्य सीधे ऊपर की ओर है) को बेहतर ढंग से प्रतिबिंबित करने के लिए घड़ी के हाथों को स्थानांतरित करने की आवश्यकता है। पश्चिम यूरोप / अफ्रीका में UTC लाइन से आगे की ओर पूर्व / पश्चिम की ओर बड़ा ऑफ़सेट है।

एक समय क्षेत्र स्थानीय समुदाय या क्षेत्र द्वारा अभ्यास के रूप में समायोजन और विसंगतियों से निपटने के लिए नियमों का एक समूह है। सबसे आम विसंगति सभी-बहुत-लोकप्रिय चंचलता है जिसे डेलाइट सेविंग टाइम (डीएसटी) के रूप में जाना जाता है ।

एक समय क्षेत्र में पिछले नियमों, वर्तमान नियमों और निकट भविष्य के लिए पुष्टि किए गए नियमों का इतिहास है।

ये नियम आपकी अपेक्षा से अधिक बार बदलते हैं। अपने दिनांक-समय लायब्रेरी के नियमों को रखना सुनिश्चित करें, आमतौर पर 'tz' डेटाबेस की एक प्रति , अप टू डेट। ओरेकल को टाइमज़ोन अपडेटर टूल जारी करने के साथ जावा 8 में अब तक अप-टू-डेट रखना आसान है ।

के रूप में , या , के प्रारूप में एक उचित समय क्षेत्र नाम निर्दिष्ट करें । कभी इस तरह के रूप में 2-4 पत्र संक्षिप्त नाम का उपयोग या के रूप में वे कर रहे हैं नहीं सच समय क्षेत्र, नहीं मानकीकृत, और यहां तक कि अद्वितीय नहीं (!)।Continent/RegionAmerica/MontrealAfrica/CasablancaPacific/AucklandESTIST

समय क्षेत्र = समायोजन का समायोजन + नियम

ZoneId z = ZoneId.of( Africa/Tunis ) ; 

ZonedDateTime

यहां छवि विवरण दर्ज करें

एक सौंपा के साथ के ZonedDateTimeरूप में वैचारिक रूप से सोचो ।InstantZoneId

ZonedDateTime = (झटपट + जोनआईड)

एक विशेष क्षेत्र (एक समय क्षेत्र) के लोगों द्वारा उपयोग की जाने वाली दीवार-घड़ी के समय में देखे गए वर्तमान क्षण को पकड़ने के लिए:

ZonedDateTime zdt = ZonedDateTime.now( z ) ;  // Pass a `ZoneId` object such as `ZoneId.of( "Europe/Paris" )`. 

आपके सभी बैकएंड, डेटाबेस, व्यावसायिक तर्क, डेटा दृढ़ता, डेटा विनिमय सभी लगभग UTC में होने चाहिए। लेकिन उपयोगकर्ताओं को प्रस्तुति के लिए आपको उपयोगकर्ता द्वारा अपेक्षित समय क्षेत्र में समायोजित करने की आवश्यकता होती है। यह ZonedDateTimeकक्षा का उद्देश्य है और उन तारीख-समय के मूल्यों के स्ट्रिंग अभ्यावेदन उत्पन्न करने के लिए उपयोग किए जाने वाले फॉर्मेट क्लास हैं।

ZonedDateTime zdt = instant.atZone( z ) ;
String output = zdt.toString() ;                 // Standard ISO 8601 format.

आप स्थानीय स्वरूप में पाठ का उपयोग कर उत्पन्न कर सकते हैं DateTimeFormatter

DateTimeFormatter f = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.FULL ).withLocale( Locale.CANADA_FRENCH ) ; 
String outputFormatted = zdt.format( f ) ;

मर्डी 30 एवरिल 2019 आ 23 एच 22 मिनट 55 सेकेंड हेअर डे'इंड

LocalDate, LocalTime,LocalDateTime

आरेख केवल एक <code> LocalDate </ code> के लिए एक कैलेंडर दिखा रहा है।

आरेख केवल एक <code> LocalTime </ code> के लिए एक घड़ी दिखा रहा है।

<Code> LocalDateTime </ code> के लिए कैलेंडर प्लस घड़ी दिखाने वाला आरेख।

"स्थानीय" दिनांक समय कक्षाएं, LocalDateTime, LocalDate, LocalTime, जीव का एक अलग तरह की हैं। किसी एक इलाके या समय क्षेत्र से बंधे नहीं हैं। वे टाइमलाइन से बंधे नहीं हैं। जब तक आप उन्हें किसी इलाके में समय रेखा पर बिंदु खोजने के लिए लागू नहीं करते हैं, तब तक उनका कोई वास्तविक अर्थ नहीं है।

इन वर्ग नामों में "स्थानीय" शब्द, बिना पढ़े लिखे के लिए सहज हो सकता है। शब्द का अर्थ किसी भी इलाके या हर इलाके से है, लेकिन किसी खास इलाके से नहीं

इसलिए व्यावसायिक ऐप्स के लिए, "स्थानीय" प्रकार का अक्सर उपयोग नहीं किया जाता है क्योंकि वे संभावित तिथि के सामान्य विचार का प्रतिनिधित्व करते हैं या समयरेखा पर एक विशिष्ट क्षण नहीं। व्यवसाय के ऐप्स ठीक उसी क्षण की परवाह करते हैं जब एक चालान आया, परिवहन के लिए भेजा गया एक उत्पाद, एक कर्मचारी को काम पर रखा गया था, या टैक्सी ने गैरेज छोड़ दिया था। इसलिए व्यवसाय ऐप डेवलपर सबसे अधिक उपयोग करते हैं Instantऔर ZonedDateTimeकक्षाएं लगाते हैं।

तो हम कब इस्तेमाल करेंगे LocalDateTime? तीन स्थितियों में: जहां हम कई स्थानों पर एक निश्चित तिथि और समय-दिन लागू करना चाहते हैं, जहां हम अपॉइंटमेंट बुक कर रहे हैं, या जहां हमारा अभी तक अनिर्धारित समय क्षेत्र है। ध्यान दें कि इन तीनों मामलों में से कोई भी समय रेखा पर एक निश्चित विशिष्ट बिंदु नहीं है, इनमें से कोई भी एक क्षण नहीं है।

एक समय का, कई पल का

कभी-कभी हम एक निश्चित तिथि पर दिन के एक निश्चित समय का प्रतिनिधित्व करना चाहते हैं, लेकिन इसे समय क्षेत्र में कई इलाकों में लागू करना चाहते हैं।

उदाहरण के लिए, "क्रिसमस 25 दिसंबर 2015 की आधी रात को शुरू होता है" LocalDateTime। मोंटेरे की तुलना में पेरिस में अलग-अलग क्षणों में आधी रात की हड़ताल, और सिएटल और ऑकलैंड में फिर से अलग ।

LocalDate ld = LocalDate.of( 2018 , Month.DECEMBER , 25 ) ;
LocalTime lt = LocalTime.MIN ;   // 00:00:00
LocalTime ldt = LocalDateTime.of( ld , lt ) ;  // Xmas morning anywhere. 

एक अन्य उदाहरण, "एक्मे कंपनी की एक नीति है कि दोपहर का खाना दुनिया भर में इसके प्रत्येक कारखाने में दोपहर 12:30 बजे शुरू होता है" LocalTime। वास्तविक अर्थ रखने के लिए आपको स्टटगार्ट कारखाने में 12:30 या रबात कारखाने में 12:30 या सिडनी कारखाने में 12:30 का समय निर्धारित करने के लिए इसे समय पर लागू करना होगा ।

नियुक्तियों की बुकिंग

LocalDateTimeभविष्य की घटनाओं की बुकिंग के लिए उपयोग करने के लिए एक और स्थिति है (उदा: डेंटिस्ट नियुक्तियों)। ये नियुक्तियां भविष्य में काफी दूर हो सकती हैं जो आप नेताओं को समय क्षेत्र को फिर से परिभाषित करने का जोखिम उठाते हैं। राजनेता अक्सर बहुत कम पूर्वाभास देते हैं, या फिर कोई चेतावनी भी नहीं देते हैं। यदि आप "23 जनवरी 23 जनवरी को अगले दिन" का अर्थ यह समझते हैं कि राजनेता घड़ी के साथ कैसे खेल सकते हैं, तो आप एक क्षण भी रिकॉर्ड नहीं कर सकते हैं - यदि उस क्षेत्र को अपनाया गया है या गिरा दिया गया है तो 3 पीएम 2 पीएम या 4 पीएम में बदल जाएगा। उदाहरण के लिए।

नियुक्तियों के लिए, LocalDateTimea ZoneId, a को अलग से रखें। बाद में, शेड्यूल जनरेट करते समय, ऑन-द-फ्लाई LocalDateTime::atZone( ZoneId )किसी ZonedDateTimeऑब्जेक्ट को जेनरेट करने के लिए कॉल करके एक क्षण का निर्धारण करता है ।

ZonedDateTime zdt = ldt.atZone( z ) ;  // Given a date, a time-of-day, and a time zone, determine a moment, a point on the timeline.

यदि आवश्यक हो, तो आप यूटीसी को समायोजित कर सकते हैं। एक उद्धरण Instantसे ZonedDateTime

Instant instant = zdt.toInstant() ;  // Adjust from some zone to UTC. Same moment, same point on the timeline, different wall-clock time.

अज्ञात क्षेत्र

कुछ लोग LocalDateTimeऐसी स्थिति में उपयोग कर सकते हैं जहां समय क्षेत्र या ऑफसेट अज्ञात है।

मैं इस मामले को अनुचित और नासमझ मानता हूं। यदि कोई ज़ोन या ऑफ़सेट इरादा है, लेकिन अनिर्धारित है, तो आपके पास खराब डेटा है। यह एक उत्पाद की कीमत को बिना किसी इच्छित मुद्रा के भंडारण के समान होगा। अच्छा विचार नहीं।

सभी दिनांक-समय प्रकार

पूर्णता के लिए, यहां जावा में आधुनिक और विरासत दोनों के साथ-साथ SQL मानक द्वारा परिभाषित सभी संभावित तिथि-समय प्रकारों की एक तालिका है। इससे Instant& LocalDateTimeकक्षाओं को बड़े संदर्भ में रखने में मदद मिल सकती है।

जावा (आधुनिक और विरासत दोनों) के साथ-साथ SQL मानक में सभी दिनांक-समय प्रकारों की तालिका।

JDBC 4.2 को डिजाइन करने में जावा टीम द्वारा किए गए अजीब विकल्पों पर ध्यान दें। वे सभी का समर्थन करने का फैसला किया java.time बार ... दो सबसे अधिक इस्तेमाल वर्गों के लिए छोड़कर: Instantऔर ZonedDateTime

लेकिन चिंता करने की नहीं। हम आसानी से आगे-पीछे कर सकते हैं।

परिवर्तित करना Instant

// Storing
OffsetDateTime odt = instant.atOffset( ZoneOffset.UTC ) ;
myPreparedStatement.setObject(  , odt ) ;

// Retrieving
OffsetDateTime odt = myResultSet.getObject(  , OffsetDateTime.class ) ;
Instant instant = odt.toInstant() ;

परिवर्तित करना ZonedDateTime

// Storing
OffsetDateTime odt = zdt.toOffsetDateTime() ;
myPreparedStatement.setObject(  , odt ) ;

// Retrieving
OffsetDateTime odt = myResultSet.getObject(  , OffsetDateTime.class ) ;
ZoneId z = ZoneId.of( "Asia/Kolkata" ) ;
ZonedDateTime zdt = odt.atZone( z ) ; 

जावा के बारे में

Java.time ढांचे जावा 8 और बाद में बनाया गया है। इन कक्षाओं परेशानी वर्ष प्रतिस्थापित विरासत जैसे तिथि-समय कक्षाएं java.util.Date, Calendar, और SimpleDateFormat

अब जोडा-टाइम परियोजना, रखरखाव मोड में , java.time कक्षाओं में प्रवासन की सलाह देती है ।

अधिक जानने के लिए, Oracle ट्यूटोरियल देखें । और कई उदाहरणों और स्पष्टीकरणों के लिए ढेर अतिप्रवाह खोजें। विशिष्टता JSR 310 है

आप अपने डेटाबेस से सीधे java.time वस्तुओं का आदान-प्रदान कर सकते हैं । JDBC 4.2 या उसके बाद के JDBC ड्राइवर का अनुपालन करें । तार की कोई जरूरत नहीं, कक्षाओं की कोई जरूरत नहीं ।java.sql.*

Java.time कक्षाएं कहाँ से प्राप्त करें?

जावा या एंड्रॉइड के किस संस्करण के साथ उपयोग करने के लिए java.time लाइब्रेरी की तालिका

ThreeTen-अतिरिक्त परियोजना अतिरिक्त कक्षाओं के साथ java.time फैली हुई है। यह परियोजना java.time के लिए भविष्य के संभावित अतिरिक्त के लिए एक साबित जमीन है। आप यहाँ कुछ उपयोगी वर्गों जैसे मिल सकता है Interval, YearWeek, YearQuarter, और अधिक


40
बहुत बढ़िया जवाब। मुझे लगता है कि Localनामकरण से कुछ भ्रम (कम से कम मेरा) आता है । Localजहां मैं हूं और जब मैं हूं! (!) के संबंध में मेरा अंतर्ज्ञान , जो मुझे विश्वास दिलाता है कि यह वास्तव में एक ZonedDateTimeहै क्या होगा ।
mkobit

4
हाँ यह भ्रामक है। यही कारण है कि java.time ने चतुराई से "स्थानीय" वर्गों से अंतर को तनाव देने के लिए, DateTimeअपने पूर्ववर्ती जोडा-टाइम (उत्पादन ZonedDateTime) द्वारा इस्तेमाल किए गए वर्ग के नाम में 'ज़ोनड' शब्द जोड़ा । "स्थानीय" नाम के बारे में सोचें "कुछ विशेष इलाके में लागू होने की आवश्यकता के लिए" शॉर्टहैंड होने के रूप में।
बेसिल बोर्क्स

2
शब्द के साथ उपसर्ग Localकरना भी java.util पैकेज से अंतर करने का एक तरीका हो सकता है, हालांकि किसी तरह मुझे लगता है कि एक बेहतर शब्द विकल्प हो सकता था।
vphilipnyc

2
@simonh इसके विपरीत ... जब वह नया कर्मचारी जीवन बीमा सहित अपने लाभों को परिभाषित करने वाले अपने काम पर रखने वाले कागजात पर हस्ताक्षर करता है और फिर एक कॉफी के लिए नए किराये के कदम केवल एक ट्रक से टकराकर मारे जाते हैं, तो ऐसे कई लोग होंगे। मानव संसाधन प्रबंधक, बीमा एजेंट और वकील के रूप में, जो उस नए रोजगार के प्रभावी होने पर सटीक क्षण जानना चाहते हैं।
बेसिल बॉर्क

2
@simonh हां, ऐसे मामले हैं जहां "स्थानीय" तिथि समय उपयुक्त है। मेरे उत्तर में उल्लिखित उन लोगों के अलावा, व्यवसाय में एक और सामान्य मामला भविष्य में कुछ महीनों से अधिक समय के लिए की जा रही नियुक्तियों के लिए है, जहाँ तक कि राजनेता समय क्षेत्र के नियमों को बदल सकते हैं, आमतौर पर थोड़े समय के लिए। राजनेता अक्सर ये बदलाव करते हैं जैसे डेलाइट सेविंग टाइम (डीएसटी) को चालू / बंद करते समय तारीखें बदलना या स्थायी रूप से डीएसटी पर / बंद रहना।
बेसिल बॉर्क

20

एक मुख्य अंतर का Localहिस्सा है LocalDateTime। यदि आप जर्मनी में रहते हैं और एक LocalDateTimeउदाहरण बनाते हैं और कोई और व्यक्ति यूएसए में रहता है और उसी क्षण एक और उदाहरण बनाता है (बशर्ते कि घड़ियों को ठीक से सेट किया गया हो) - उन वस्तुओं का मूल्य वास्तव में अलग होगा। यह उस पर लागू नहीं होता है Instant, जिसकी गणना समय क्षेत्र से स्वतंत्र रूप से की जाती है।

LocalDateTimeसमयक्षेत्र के बिना दिनांक और समय को संग्रहीत करता है, लेकिन यह प्रारंभिक मूल्य है समयक्षेत्र निर्भर है। Instantनहीं है।

इसके अलावा, LocalDateTimeदिन, घंटे, महीने जैसे तारीख घटकों में हेरफेर करने के लिए तरीके प्रदान करता है। एक Instantनहीं करता।

इंस्टेंट के नैनोसैकेड सटीक लाभ और लोकल डेटाइम के टाइम-ज़ोन हिस्से के अलावा

दोनों वर्गों में एक ही सटीकता है। LocalDateTimeसमय क्षेत्र को संग्रहीत नहीं करता है। Javadocs को अच्छी तरह से पढ़ें, क्योंकि आप इस तरह की अमान्य मान्यताओं के साथ एक बड़ी गलती कर सकते हैं: तुरंत और स्थानीय डेटा


ज़ोन + परिशुद्धता पर गलत तरीके से भाग के लिए खेद है। उपरोक्त पोस्ट से दोहराए जाने के लिए खेद है: एक एकल समय-क्षेत्र अनुप्रयोग को ध्यान में रखते हुए, जिसमें आप लोकल-टाइमटाइम या इसके विपरीत के मामलों का उपयोग करेंगे?
मैनुअल अलादाना

1
जब भी मुझे तारीखों और / या समय की आवश्यकता होगी, मैं LocalDateTime ले लूंगा। घंटे, मिनट, या तो में। मैं उदाहरण के लिए, निष्पादन समय को मापने के लिए झटपट का उपयोग करूँगा, या तब और वहाँ होने वाले आंतरिक क्षेत्र को संग्रहीत करूँगा। अगले रन की गणना, आपके मामले में? LocalDateTime उचित लगता है, लेकिन यह एक राय है। जैसा कि आपने कहा, दोनों का उपयोग किया जा सकता है।
दारिउज़

क्या आप अधिक विस्तार से बता सकते हैं LocalDateTime stores date and time without timezone, but it's initial value is timezone dependent? प्रारंभिक मूल्य क्या है और यह समय-निर्भर कैसे है? धन्यवाद।
अधिकतम

12

आप इसके बारे में गलत हैं LocalDateTime: यह किसी भी समय-क्षेत्र की जानकारी को संग्रहीत नहीं करता है और इसमें नैनोसेकंड सटीक है। जवादोक (जोर मेरा) का उद्धरण:

ISO-8601 कैलेंडर प्रणाली में समय-क्षेत्र के बिना दिनांक-समय , जैसे कि 2007-12-03T10: 15: 30।

LocalDateTime एक अपरिवर्तनीय दिनांक-समय ऑब्जेक्ट है जो दिनांक-समय का प्रतिनिधित्व करता है, जिसे अक्सर साल-महीने-दिन-मिनट-मिनट के रूप में देखा जाता है। अन्य दिनांक और समय फ़ील्ड, जैसे दिन का वर्ष, दिन का सप्ताह और सप्ताह का वर्ष, भी पहुँचा जा सकता है। समय का प्रतिनिधित्व नैनोसेकंड सटीक द्वारा किया जाता है । उदाहरण के लिए, मान "2 अक्टूबर 2007 को 13: 45.30.123456789" पर लोकलडेटटाइम में संग्रहीत किया जा सकता है।

दोनों के बीच अंतर यह है कि Instantयुग (01-01-1970) से एक ऑफसेट का प्रतिनिधित्व करता है और, इस तरह, समय-रेखा पर एक विशेष पल का प्रतिनिधित्व करता है। Instantपृथ्वी के दो अलग-अलग स्थानों पर एक ही समय में बनाई गई दो वस्तुओं का बिल्कुल समान मूल्य होगा।


एक बार के समय-क्षेत्र के आवेदन को ध्यान में रखते हुए, जिसमें आप लोकल टाइमटाइम या इसके विपरीत के मामलों का उपयोग करेंगे?
मैनुअल अलादाना

3
@manuelaldana यह स्वाद का मामला है। मैं कुछ भी उपयोगकर्ता से संबंधित (जन्मदिन ...) और कुछ भी मशीन से संबंधित (निष्पादन समय ...) के लिए तत्काल पसंद करता हूँ।
तूनाकी

2
@manuelaldana एकल समय क्षेत्र एप्लिकेशन दुर्लभ है यदि कोई नहीं है। आप अपने स्थानीय बारोक म्यूजिक क्लब के लिए व्हॉट्स अप के लिए समय क्षेत्र की अनदेखी करने के साथ दूर हो सकते हैं। लेकिन जैसे ही आपको उन लोगों को एक घटना पोस्ट करने की आवश्यकता होती है जो यात्रा करते हैं (और समय क्षेत्र पार करते हैं) वे चाहते हैं कि डेटा एक समय क्षेत्र से बंधा हो, ताकि उनका कैलेंडर ऐप आवश्यकतानुसार समायोजित हो सके। मेरा सुझाव है कि आप अपने सभी ऐप्स में समय क्षेत्र के साथ ठीक से काम करना सीखें।
तुलसी बोर्क

@ तुनाकी अंतिम पैराग्राफ में 'ऑफसेट' शब्द का आपका उपयोग विचलित करने वाला है। उस शब्द का दिनांक-समय के काम में एक निश्चित अर्थ है, इसलिए इस संदर्भ में इसका उपयोग यहां किया जा सकता है।
तुलसी बोर्क

0

Instant प्राइम मेरिडियन (ग्रीनविच) पर समय के साथ मेल खाता है।

जबकि LocalDateTimeओएस समय क्षेत्र सेटिंग्स के सापेक्ष, और

अतिरिक्त जानकारी जैसे कि ऑफ़सेट या टाइम-ज़ोन के बिना एक पल का प्रतिनिधित्व नहीं कर सकता।


2
तत्काल UTC पर आधारित है न कि GMT पर।
टॉरस्टेन ओजापर्व
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.