मेरे पास जावा में दो तिथियां हैं:

Wed Jan 05 00:00:00 CET 2011
Sat Jan 15 23:59:59 CET 2011

अब मैं उन पर पुनरावृति करना चाहता हूं, ताकि हर दिन मैं एक System.out.println() कर सकूं जिसमें मैं इस तरह की तारीख को कंसोल पर रखता हूं:

2011-01-05
2011-01-06
2011-01-07
...
2011-01-13
2011-01-14
2011-01-15

मैं यह कैसे कर सकता हूँ?

सादर, टिम।

अपडेट करें:

Calendar calend = Calendar.getInstance();
calend.setTime(myObject.getBeginDate());
Calendar beginCalendar = new GregorianCalendar(calend.get(Calendar.YEAR), calend.get(Calendar.MONTH), calend.get(Calendar.DATE));
calend.setTime(myObject.getEndDate());
Calendar endCalendar = new GregorianCalendar(calend.get(Calendar.YEAR), calend.get(Calendar.MONTH), calend.get(Calendar.DATE));
while (beginCalendar.compareTo(endCalendar) <= 0) {
     // ... calculations
    beginCalendar.add(Calendar.DATE, 1);
}
2
Tim 5 जिंदा 2011, 18:57
2
क्या आपने एक नज़र डाली थी ">stackoverflow.com/questions/1174899/… ?
 – 
DerMike
5 जिंदा 2011, 19:00

2 जवाब

सबसे बढ़िया उत्तर

एक बार में एक दिन बढ़ाने के लिए ग्रेगोरियन कैलेंडर ऑब्जेक्ट का उपयोग करें

SimpleDateFormat का उपयोग कर आउटपुट।

एक स्ट्रिंग से दिनांक वस्तु में अपनी तिथि प्राप्त करने के लिए, आपको निम्न कार्य करने होंगे

SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
Date date = format.parse(yourDateString);

फिर, आपको ग्रेगोरियन कैलेंडर में कनवर्ट करने की आवश्यकता है, ताकि आप आसानी से मानों को बढ़ा सकें और अंत में किसी अन्य SimplerDateFormat का उपयोग करके जिस तरह से आप चाहते हैं, उस तिथि को आउटपुट कर सकें। विभिन्न कोड के लिए दस्तावेज़ देखें।

अपडेट करें: अपडेट करें, अपने कोड अपडेट के बाद, आप बस निम्न कार्य कर सकते हैं

Calendar beginCalendar = Calendar.getInstance();
beginCalendar.setTime(myObject.getBeginDate());
Calendar endCalendar = Calendar.getInstance();
beginCalendar.setTime(myObject.getEndDate());


while (beginCalendar.compareTo(endCalendar) <= 0) {
     // ... calculations
    beginCalendar.add(Calendar.DATE, 1);
}
3
Codemwnci 6 जिंदा 2011, 15:43
क्षमा करें, कोई होमवर्क नहीं, मुझे नहीं पता कि मैं इसे Wed Jan 05 00:00:00 CET 2011 डेट ऑब्जेक्ट में कैसे डाल सकता हूं।
 – 
Tim
5 जिंदा 2011, 19:08
मेरे प्रश्न पोस्ट में, मैंने वह समाधान डाला जो काम करता है। यह ठीक है?
 – 
Tim
6 जिंदा 2011, 12:02
हाँ, आपका समाधान ठीक दिखता है। हालांकि, मैं आमतौर पर कैलेंडर का उपयोग करना पसंद करता हूं। DAY_OF_MONTH के बजाय कैलेंडर.DATE किसी तिथि का DAY भाग प्राप्त करने के लिए। वे समान मान देते हैं, लेकिन मुझे DAY_OF_MONTH अधिक वर्णनात्मक लगता है, क्योंकि DATE कुछ भ्रामक है। साथ ही, यदि आपके पास पहले से दिनांक वस्तु है, तो आप अपना ग्रेगोरियन कैलेंडर बना सकते हैं और बस समय निर्धारित कर सकते हैं। मैं प्रतिबिंबित करने के लिए अपना उत्तर अपडेट करूंगा।
 – 
Codemwnci
6 जिंदा 2011, 15:40

एक Calendar ऑब्जेक्ट बनाएं और इसे प्रारंभ तिथि पर सेट करें। एक समय में एक दिन जोड़ते रहें और अंतिम तिथि तक प्रिंट करते रहें।

1
Qwerky 5 जिंदा 2011, 19:01