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




date calendar nullpointerexception (5)

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

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() ) को कन्वर्ट करने के लिए प्रयोग किया जाता है। आप किसी तारीख की स्ट्रिंग प्रस्तुति को किसी तारीख को पार्स करने के लिए इसका उपयोग कर रहे हैं। यह सही नहीं हो सकता है, है ना?

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

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

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();

यह फ़ंक्शन किसी दिनांक दिनांक ऑब्जेक्ट से SQL दिनांक ऑब्जेक्ट को वापस कर देगा।

 public java.sql.Date convertJavaDateToSQL(Date d)
{

    java.sql.Date d1= new java.sql.Date(d.getTime());
    return d1;
}


आधुनिक ब्राउज़रों (*) में , आप बस यह कर सकते हैं:

var today = new Date().toLocaleDateString('en-GB', {
    day : 'numeric',
    month : 'short',
    year : 'numeric'
}).split(' ').join('-');

आउटपुट अगर आज निष्पादित (जनवरी 24, 2016):

'24-Jan-2016'

(*) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString , "आधुनिक ब्राउज़र" का अर्थ है क्रोम 24+, फ़ायरफ़ॉक्स 2 9 +, इंटरनेट एक्सप्लोरर 11, एज 12+, ओपेरा 15+ और सफारी रात का निर्माण





java date calendar nullpointerexception