में java.util.Date गणना अंतर मैं दो तिथियों के बीच के अंतर की गणना करने की कोशिश की और मैं एक बात देखा। जब केवल गणना के दिन, दिन के उजाले की बचत समय की शुरुआत के अंतराल में शामिल है, तो परिणाम 1 दिन के साथ कम हो जाएगा।दिनों
सटीक परिणाम प्राप्त करने के लिए, घंटों के मूल्य पर भी विचार किया जाना चाहिए।
उदाहरण के लिए:
SimpleDateFormat format = new SimpleDateFormat("MM-dd-yyyy");
Date dfrom = format.parse("03-29-2015");
Date dto = format.parse("03-30-2015");
long diff = dto.getTime() - dfrom.getTime();
System.out.println(diff);
System.out.println("Days: "+diff/(24 * 60 * 60 * 1000));
System.out.println("Hours: "+diff/(60 * 60 * 1000) % 24);
आउटपुट:
82800000
Days: 0
Hours: 23
किसी को भी एक बेहतर समाधान है?
क्या आप इसके बजाय जावा.टाइम (जावा 8) या जोडा टाइम का उपयोग कर सकते हैं? दोनों इस एक * बहुत * सरल कर देगा। –
संभावित जावा डुप्लिकेट [दो जावा दिनांक उदाहरणों के बीच अंतर की गणना] (http://stackoverflow.com/questions/1555262/calculating-the-difference-between-two-java-date-instances) – Tom
मूल कारण आपकी धारणा है लाइन 6 हर दिन के 24 घंटे है, जब आप पहले से ही पता है कि अंतराल आप आकलन कर रहे हैं एक दिन यह है कि केवल 23 घंटे लंबा होता है में। –