2017-11-30 44 views
8

में नैनो सेकेंड के बिना लोकलडेट टाइम की तुलना करें मैं नैनोसेकंड पर विचार किए बिना 2 लोकलडेट टाइम ऑब्जेक्ट्स की तुलना करना चाहता हूं। इस तरह मैं वर्तमान में कर रहा हूं। क्या ऐसा करने का कोई बेहतर तरीका है?जावा 8

LocalDateTime object1 = LocalDateTime.of(2014, 3, 30, 12, 30, 23, 12000); 
LocalDateTime object2 = LocalDateTime.of(2014, 3, 30, 12, 30, 23, 12004); 

System.out.println(object1.isEqual(object2)); // false 

LocalDateTime objec1tWithoutNano = object1.minusNanos(object1.getNano()); 
LocalDateTime objec2tWithoutNano = object2.minusNanos(object2.getNano()); 

System.out.println(objec1tWithoutNano.isEqual(objec2tWithoutNano)); // true 

उत्तर

6

मैं सलाह देते हैं कि आप जो दृष्टिकोण आपके लिए सबसे अधिक पठनीय है के साथ आगे बढ़ना के रूप में LocalDateTime एपीआई के भीतर तरीकों में से सबसे पहले से ही प्रत्येक विधि मंगलाचरण पर एक नया उदाहरण लौट तो वहाँ एक न्यूनतम प्रदर्शन घाटा यदि कोई है विभिन्न तरीकों के बीच आप काम को पूरा कर सकते हैं। उदाहरण के लिए, truncateTo का उपयोग उसी परिणाम को वापस करने के लिए किया जा सकता है जैसे minusNanos:

System.out.println(object1.truncatedTo(ChronoUnit.SECONDS) 
    .isEqual(object2.truncatedTo(ChronoUnit.SECONDS)));