Java Language
कैलेंडर और उसके उपवर्ग
खोज…
टिप्पणियों
जावा 8 के अनुसार, Calendar
और इसके उपवर्गों को java.time पैकेज और इसके सबपैकेज द्वारा अधिगृहीत किया गया है। उन्हें प्राथमिकता दी जानी चाहिए, जब तक कि विरासत एपीआई को कैलेंडर की आवश्यकता न हो।
कैलेंडर ऑब्जेक्ट बनाना
Calendar
ऑब्जेक्ट getInstance()
या कंस्ट्रक्टर GregorianCalendar
getInstance()
का उपयोग करके बनाया जा सकता है।
यह ध्यान में महत्वपूर्ण है कि में महीने Calendar
, शून्य आधारित हैं जिसका अर्थ है कि जनवरी एक का प्रतिनिधित्व करती है int
मूल्य 0. ताकि एक बेहतर कोड प्रदान करने के लिए, हमेशा उपयोग में Calendar
जैसे स्थिरांक, Calendar.JANUARY
बचने गलतफहमी।
Calendar calendar = Calendar.getInstance();
Calendar gregorianCalendar = new GregorianCalendar();
Calendar gregorianCalendarAtSpecificDay = new GregorianCalendar(2016, Calendar.JANUARY, 1);
Calendar gregorianCalendarAtSpecificDayAndTime = new GregorianCalendar(2016, Calendar.JANUARY, 1, 6, 55, 10);
नोट : सदैव महीने के स्थिरांक का उपयोग करें: संख्यात्मक प्रतिनिधित्व भ्रामक है , उदाहरण के लिए Calendar.JANUARY
का मान 0
कैलेंडर क्षेत्रों को बढ़ाना / घटाना
Calendar
फ़ील्ड बढ़ाने / घटाने के लिए add()
और roll()
का उपयोग किया जा सकता है।
Calendar calendar = new GregorianCalendar(2016, Calendar.MARCH, 31); // 31 March 2016
add()
पद्धति सभी क्षेत्रों को प्रभावित करती है, और प्रभावी ढंग से व्यवहार करती है यदि कोई कैलेंडर से वास्तविक तिथियों को जोड़ना या घटाना था
calendar.add(Calendar.MONTH, -6);
उपरोक्त ऑपरेशन कैलेंडर से छह महीने निकालता है, हमें 30 सितंबर 2015 तक वापस ले जाता है।
अन्य फ़ील्ड को प्रभावित किए बिना किसी विशेष फ़ील्ड को बदलने के लिए, roll()
उपयोग करें।
calendar.roll(Calendar.MONTH, -6);
इसलिए महीने सेप्टेम्बर के पहचान की है ऊपर आपरेशन, चालू माह से छह महीने निकाल देता है। कोई अन्य फ़ील्ड समायोजित नहीं किया गया है; इस ऑपरेशन के साथ वर्ष नहीं बदला है।
AM / PM को ढूंढना
कैलेंडर वर्ग के साथ एएम या पीएम को ढूंढना आसान है।
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
if (cal.get(Calendar.AM_PM) == Calendar.PM)
System.out.println("It is PM");
कैलेंडरों को घटाना
दो Calendar
बीच अंतर पाने के लिए, getTimeInMillis()
विधि का उपयोग करें:
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c2.set(Calendar.DATE, c2.get(Calendar.DATE) + 1);
System.out.println(c2.getTimeInMillis() - c1.getTimeInMillis()); //outputs 86400000 (24 * 60 * 60 * 1000)