को बदलने के लिए Java8 से पहले, मैं Joda के DateTime
वर्ग इस्तेमाल किया समयक्षेत्र जानकारी शामिल करने और मैं आसानी से DateTime
और एसक्यूएल Timestamp
के बीच कन्वर्ट करने के लिए कर सकते हैं।जावा 8 ZonedDateTime या OffsetDateTime Joda दिनांक समय
एक बार जावा 8 पर माइग्रेट करने के बाद, मुझे किस वर्ग को प्रतिस्थापित करना चाहिए? OffsetDateTime
या ZonedDateTime
?
इसके अलावा, मैंने OffsetDateTime
का उपयोग करने का प्रयास किया, लेकिन ऐसा लगता है कि OffsetDateTime
पर एक एसक्यूएल Timestamp
से वापस नहीं बनाया जा सकता है।
Joda DateTime
और Timestamp
कनवर्टर के लिए, कोड की तरह है:
val joda = DateTime.now()
val sqlJoda = new Timestamp(joda.getMillis)
val jodaBack = new DateTime(sqlJoda)
लेकिन Java8 के लिए,
val java8 = OffsetDateTime.now()
val sqlJava8 = new Timestamp(java8.toInstant.toEpochMilli)
val java8Back = ???
किसी को भी इस बारे में कुछ विचार है? ऐसा लगता है कि जोडा DateTime
वास्तव में अच्छा है।
एसक्यूएल टाइमस्टैम्प का आधिकारिक मैपिंग या तो लोकलडेटाइम (टाइम ज़ोन के बिना टाइमस्टैम्प) या ऑफसेटडेट टाइम (टाइमज़ोन के साथ टाइमस्टैम्प) है। उदाहरण के लिए यहां जेडीबीसी 4 जेसीपी का रखरखाव रिलीज 2 देखें: https://jcp.org/en/jsr/detail?id=221 – assylias
उसे नहीं पता था। धन्यवाद। क्या वहां कोई डॉक्टर है? – spa
यह भी देखें: http://stackoverflow.com/a/31749317/829571 – assylias