java - मैं केवल जावा दिनांक ऑब्जेक्ट में महीने कैसे बदल सकता हूँ?




date time (3)

java.time

LocalDate localDate = LocalDate.of ( 2017, Month.JANUARY, 23 );
LocalDate localDateFeb = localDate.withMonth ( 2 );

... या ...

LocalDate localDateFeb = localDate.withMonth ( Month.FEBRUARY.getValue ( ) );

localDate.toString (): 2017-01-23

localDateFeb.toString (): 2017-02-23

अन्य उत्तर परेशानी पुरानी तारीख-समय कक्षाओं का उपयोग करते हैं, जो अब जावा के समय वर्ग कक्षाओं द्वारा दी गई हैं।

जावा के बारे में। समय

Java.time फ्रेमवर्क जावा 8 और बाद में बनाया गया है। ये कक्षाएं परेशानी पुरानी विरासत तिथि-समय कक्षाएं जैसे कि java.util.Date , Calendar , और SimpleDateFormat

जोडा-टाइम प्रोजेक्ट, अब रखरखाव मोड में , जावा के समय की कक्षाओं के लिए प्रवासन की सलाह देते हैं।

अधिक जानने के लिए, ओरेकल ट्यूटोरियल देखें। और कई उदाहरणों और स्पष्टीकरण के लिए स्टैक अतिप्रवाह खोजें। विशिष्टता JSR 310 है

जावा को कब प्राप्त करें कक्षाएं?

तीन टन अतिरिक्त परियोजना java.time को अतिरिक्त कक्षाओं के साथ प्रदान करता है। यह प्रोजेक्ट जावा के संभावित भावी परिवर्धन के लिए एक सिद्ध मैदान है। आपको यहां कुछ उपयोगी वर्ग यहां मिल सकते हैं जैसे Interval , YearWeek , YearQuarter , और अधिक

Joda समय

अपडेट: जौडा टाइम परियोजना अब रखरखाव मोड में है , साथ ही टीम को जावाटाइम कक्षाओं में प्रवास करने की सलाह दी गई है।

LocalDate -टाइम लाइब्रेरी में एक LocalDate -डेट क्लास है जो किसी समय-प्रतिदिन और समय क्षेत्र के बिना केवल-तारीख का प्रतिनिधित्व करता है।

आप मनमाने ढंग से माह मूल्य निर्धारित कर सकते हैं। लेकिन इस मुद्दे से सावधान रहें कि सभी महीनों में समान संख्या नहीं है, इसलिए 29, 30, और 31 की महीने के मूल्यों में समस्या एक समस्या है।

LocalDate localDate = new LocalDate( 2014 , 12 , 31 ); // December.
LocalDate localDate_Feb = localDate.withMonthOfYear( 2 ); // February.

डंप करने के लिए कंसोल

System.out.println( "localDate: " + localDate );
System.out.println( "localDate_Feb: " + localDate_Feb ); 

जब भागो

localDate: 2014-12-31
localDate_Feb: 2014-02-28

मेरे पास जावा दिनांक वस्तु है

मैं वर्ष को बदलने के बिना अपने महीने कैसे बदल सकता हूं?

जैसे

12/1/14

मैं इसे बदलना चाहता हूं

12/3/14 और 12/10/14

मैं मूल रूप से वर्ष को बदलकर +/- x माह से बदलना चाहता हूं।

क्या यह किया जा सकता है?


आप चाहते हैं कि विशिष्ट महीने को बदलने के लिए आप कैलेंडर वर्ग की सेट विधि का उपयोग कर सकते हैं

नमूना:

Calendar c = Calendar.getInstance();
System.out.println(c.getTime());
c.set(Calendar.MONTH, Calendar.JANUARY); //will change the month to JANUARY
System.out.println(c.getTime());

परिणाम:

Sun Aug 17 03:17:35 EDT 2014
Fri Jan 17 03:17:35 EST 2014

Calendar cal = Calendar.getInstance();
cal.setTime(date); // your date (java.util.Date)
cal.add(Calendar.MONTH, x); // You can -/+ x months here to go back in history or move forward.
return cal.getTime(); // New date

रेफरी: जावा कैलेंडर







calendar