2010-04-12 10 views

उत्तर

13

Calendar.DAY_OF_YEAR

Calendar calendar = Calendar.getInstance(); 
calendar.setTime(givenDate); 
calendar.add(Calendar.YEAR, -1); 
+2

असल में कैलेंडर.एड (कैलेंडर। DAY_OF_YEAR, n) और calendar.add (कैलेंडर.डेट, एन) समान हैं। Http://stackoverflow.com/questions/2506082/add-more-than-30-days-with-calendars-add-method-in-java/2506096#2506096 देखें –

1

का उपयोग करके दिन

तुम भी एक साल (में ले जा रही लीप वर्ष खाते में) घटा सकते घटाना मुझे नहीं लगता कि यह एक अलग बनाती हूँ है उचित तरीका है , लेकिन मैं क्षेत्र के रूप में Calendar.DAY_OF_YEAR का उपयोग करूंगा।

4

यह दिन घटाने का सही तरीका है।

ध्यान दें कि लीप दिनों के कारण 365 दिन हमेशा एक वर्ष के बराबर नहीं होते हैं। calendar.add(Calendar.YEAR, -1) एक वर्ष सही ढंग से घटाएगा।

आप Joda Time-java.util.Date और java.util.Calendar की बजाय लाइब्रेरी का उपयोग भी कर सकते हैं। समय और तिथियों को संभालने के लिए जोडा टाइम एक बहुत अच्छा एपीआई है।

0

आप सख्ती से घटाना 365 दिन करने की कोशिश कर रहे हैं, तो हाँ, कि यह करना चाहते हैं। हालांकि, अगर आप पिछले वर्षों की कोशिश कर रहे हैं, तो यह छलांग के वर्षों के कारण काम नहीं कर सकता है।

0

Veyder-time देखें। यह java.util.Calendar के लिए एक सरल और शक्तिशाली alternativ है और कई अन्य चीजों के बीच, दोनों दिन और वर्षों को जोड़ने और घटाने के लिए सरल तरीके हैं।

संबंधित मुद्दे