java - किसी दिनांक ऑब्जेक्ट को कैलेंडर ऑब्जेक्ट में कनवर्ट करना




date calendar (3)

बस अपाचे कॉमन्स का उपयोग करें

DateUtils.to कैलेंडर (तिथि की तारीख)

इस प्रश्न का उत्तर यहां दिया गया है:

तो मुझे फॉर्म में आने वाली ऑब्जेक्ट से डेट विशेषता मिलती है:

Tue May 24 05:05:16 EDT 2011

मैं इसे एक कैलेंडर विधि में बदलने के लिए एक सरल सहायक विधि लिख रहा हूं, मैं निम्नलिखित कोड का उपयोग कर रहा था:

    public static Calendar DateToCalendar(Date date ) 
{ 
 Calendar cal = null;
 try {   
  DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
  date = (Date)formatter.parse(date.toString()); 
  cal=Calendar.getInstance();
  cal.setTime(date);
  }
  catch (ParseException e)
  {
      System.out.println("Exception :"+e);  
  }  
  return cal;
 }

आने वाली ऑब्जेक्ट को अनुकरण करने के लिए मैं वर्तमान में उपयोग कर रहे कोड के भीतर मूल्यों को असाइन कर रहा हूं:

private Date m_lastActivityDate = new Date();

हालांकि विधि पहुंचने के बाद यह मुझे एक नल पॉइंटर देता है:

date = (Date)formatter.parse(date.toString()); 

यह इतना आसान है ... कैलेंडर को इस तरह कैलेंडर में कनवर्ट करना:

Calendar cal=Calendar.getInstance();
DateFormat format=new SimpleDateFormat("yyyy/mm/dd");
format.format(date);
cal=format.getCalendar();

यहां आपकी विधि है:

public static Calendar toCalendar(Date date){ 
  Calendar cal = Calendar.getInstance();
  cal.setTime(date);
  return cal;
}

आप जो कुछ भी कर रहे हैं वह गलत और अनावश्यक दोनों है।

बीटीडब्ल्यू, जावा नामकरण सम्मेलन का सुझाव है कि विधि नाम कम केस अक्षर से शुरू होते हैं, इसलिए यह होना चाहिए: दिनांक को dateToCalendar या से toCalendar (दिखाया गया है)।

ठीक है, चलो अपना कोड दूध दें, क्या हम?

DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
date = (Date)formatter.parse(date.toString()); 

DateFormat स्ट्रिंग्स टू डेट्स ( parse() ) या डेट्स टू स्ट्रिंग्स ( format() ) को कन्वर्ट करने के लिए प्रयोग किया जाता है। आप किसी तारीख की स्ट्रिंग प्रस्तुति को किसी तारीख को पार्स करने के लिए इसका उपयोग कर रहे हैं। यह सही नहीं हो सकता है, है ना?





nullpointerexception