मैं किसी प्रकार की वस्तु को रूपांतरित करने की कोशिश करते हुए कुछ संगीन मुद्दों का प्रयोग कर रहा हूं java.sql.Timestamp
समय की एक वस्तु में org.joda.time.DateTime
। विस्तार से, समयक्षेत्र सही ढंग से सेट नहीं किया गया है।
यहाँ मेरा कोड (scala भाषा) है:
val receptionDate =
new DateTime(tuple("RECEPTION_TIMESTAMP").asInstanceOf[Timestamp].getTime(),
DateTimeZone.UTC)
The Timestamp
ऑब्जेक्ट सीधे किसी डेटाबेस तालिका (HBase) से पढ़ा है और SQuirreL क्लाइंट द्वारा दिखाया गया मान निम्न है:
2015-07-30 00:00:00.0
इसके बजाए, DateTime
बनाए गए ऑब्जेक्ट का मान है 2015-07-29 22:00:00.0
. स्पष्ट रूप से के निर्माण के दौरान DateTime
ऑब्जेक्ट यह समय क्षेत्र की जानकारी का उपयोग नहीं किया जाता है DateTimeZone.UTC
, कि मैं निर्माता के पास जा रहा हूँ.
मैं गलत क्या कर रहा हूँ? त्रुटि कहाँ है?
उत्तर:
जवाब के लिए 0 № 1यह समस्या आपके द्वारा उपयोग किए जा रहे हैं के कारण होता है स्थानीय समय क्षेत्र (UTC-2) निर्दिष्ट किए बिना दिनांक संग्रहीत करने के लिए UTC समय क्षेत्र, लेकिन जब आप से अपनी तारीख को पुनः प्राप्त HBase सेटिंग के साथ UTC समय क्षेत्र. तो वे बराबर समय कर रहे हैं, लेकिन एक ही नहीं हैं Timezone
.