/ / कैलेंडर के साथ दिनांक सेट करना मुझे गलत दिनांक क्यों देता है - जावा, कैलेंडर

कैलेंडर के साथ सेटिंग दिनांक मुझे गलत तिथि क्यों देता है - जावा, कैलेंडर

मैं दिनांक २०१३-०१-०१-०१: ००:०० बजे की तारीख तय कर रहा हूं, लेकिन तारीख शुक्र के रूप में निकलती है ०१ फरवरी ००:०० जीएमटी + ०१: १२: १२

क्यूं कर?

Calendar calendar = Calendar.getInstance();
calendar.set(2013, 1, 1, 0, 0, 0);
Date startDate = calendar.getTime();

उत्तर:

जवाब के लिए 5 № 1

महीने की शुरुआत जावा की तारीख कक्षाओं में 0 से शुरू होती है। महीने में रहने वाले का उपयोग करें Calendar वर्ग इस आम गलती से बचने के लिए।

calendar.set(2013, Calendar.JANUARY, 1, 0, 0, 0);

उत्तर के लिए 7 № 2

1 का अर्थ होता है फ़्यूरीरी। 0 जनवरी है। महीनों को 0. से शुरू किया जाता है। यह शब्दालंकार का उपयोग करने के लिए हमेशा बेहतर होता है: Calendar.JANUARY


जवाब के लिए 0 № 3

बस एक गोटा है कि "संबंधित ...

सबसे पहले मैंने सोचा था कि मैं एक ही समस्या नहीं थाहो रहा था, क्योंकि मेरा साल गलत था। मैंने दिसंबर के लिए "12" सेट किया था, लेकिन क्योंकि महीने एक ऑफसेट हैं और 0 से शुरू होते हैं, कैलेंडर वास्तव में रोल करेगा कि 12 अगले साल के जनवरी से मतलब है, इसलिए यदि आपका वर्ष गलत है, तो जांचें कि क्या आपका महीना भी गलत है, यह मेरी तरह लुढ़का हो सकता है।

यानि सेटडेट (२०१५, १२, ६) का परिणाम ६ जनवरी २०१६ की तारीख में हुआ

इसलिए कैलेंडर मंथ कांस्टीटयूट का उपयोग करें।