2014-04-11 7 views
5

के बीच समय नहीं देता है, मैं डेटपिकर का उपयोग कर रहा हूं और आज की तारीख को आज और अधिकतम तारीख को एक वर्ष आगे सेट करना चाहता हूं। क्योंकि तिथि आज के बराबर नहीं हो सकता हैडेटपिकर अपवाद

java.lang.IllegalArgumentException: fromDate: Sat Apr 11 23:59:59 CEST 2015 does not precede toDate: Sat Apr 11 08:24:19 CEST 2015 

thats: -:

मैं इस तरह करते हैं 1000 फिर मैं एक और अपवाद

datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000); 
      cal.add(Calendar.YEAR, 1); 
      datePickerDialog.getDatePicker().setMaxDate(cal.getTimeInMillis()); 

मैं ऐसा नहीं करते है। तो मैं 1000 एमएस निकालें।

मुझे नहीं पता कि नए अपवाद को कैसे हल किया जाए। मैंने maxDate पर + 1000 एमएस गिनने की कोशिश की लेकिन उसने इसे हल नहीं किया।

संपादित करें:

मैं इस तरह मेरी कैलोरी बनाएँ:

cal = Calendar.getInstance(); 
     datePickerDialog = new DatePickerDialog(getActivity(), this, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DATE)); 

उत्तर

13

मैं इस प्रकार समस्या हल:

  cal.set(Calendar.HOUR_OF_DAY, cal.getMinimum(Calendar.HOUR_OF_DAY)); 
      cal.set(Calendar.MINUTE, cal.getMinimum(Calendar.MINUTE)); 
      cal.set(Calendar.SECOND, cal.getMinimum(Calendar.SECOND)); 
      cal.set(Calendar.MILLISECOND, cal.getMinimum(Calendar.MILLISECOND)); 
      datePickerDialog.getDatePicker().setMinDate(cal.getTimeInMillis()); 
      cal.add(Calendar.YEAR, 1); 
      cal.set(Calendar.HOUR_OF_DAY, cal.getMaximum(Calendar.HOUR_OF_DAY)); 
      cal.set(Calendar.MINUTE, cal.getMaximum(Calendar.MINUTE)); 
      cal.set(Calendar.SECOND, cal.getMaximum(Calendar.SECOND)); 
      cal.set(Calendar.MILLISECOND, cal.getMaximum(Calendar.MILLISECOND)); 
      datePickerDialog.getDatePicker().setMaxDate(cal.getTimeInMillis()); 

मैं सिर्फ न्यूनतम और उस दिन बंद अधिकतम करने के लिए अंतिम तिथि नहीं करने के लिए आरंभ तिथि निर्धारित।

+0

जो मेरी समस्या का समाधान करता है लेकिन अगर मैं समय को बनाए रखना चाहता हूं तो क्या मुझे कैलेंडर का एक और उदाहरण बनाने और अलग से प्रबंधित करने की आवश्यकता है? – ANinJa

2

लगता MinDate तरह MaxDate से अधिक है। अपवाद के अनुसार।

+0

हाँ मुझे पता है लेकिन मुझे नहीं पता कि इसे कैसे ठीक किया जाए। जो कुछ भी मैं कोशिश करता हूं वह हमेशा विफल रहता है। – user1007522

+0

आपका मिनीडेट 2014 के बजाय 2015 में है। SetMinDate –

0

इस प्रयास करें:

cal.set(Calendar.HOUR_OF_DAY, 0); 
    cal.set(Calendar.MINUTE, 0); 
    cal.set(Calendar.SECOND, 0); 
    cal.set(Calendar.MILLISECOND, 0); 
    datePickerDialog.getDatePicker().setMinDate(cal.getTimeInMillis()); 
    cal.add(Calendar.YEAR, 1); 
    datePickerDialog.getDatePicker().setMaxDate(cal.getTimeInMillis()); 
+1

के लिए 'cal.getTimeInMillis()' का उपयोग करें और इससे कोई फर्क नहीं पड़ता। – user1007522

+0

@ user1007522 आप अपना कैलेंडर कैसे बनाते हैं? – fRoStBiT

+0

मेरे संपादित उत्तर की जांच करें। – user1007522

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