मैं उपयोगकर्ता द्वारा प्रत्येक बार एप्लिकेशन द्वारा शुरू होने पर डेटाबेस में वर्तमान समय स्टोर करता हूं।एंड्रॉइड, मैं स्ट्रिंग को आज तक कैसे परिवर्तित कर सकता हूं?
Calendar c = Calendar.getInstance();
String str = c.getTime().toString();
Log.i("Current time", str);
डेटाबेस पक्ष में, मैं वर्तमान समय को स्ट्रिंग के रूप में संग्रहीत करता हूं (जैसा कि आप उपरोक्त कोड में देखते हैं)। इसलिए, जब मैं इसे डेटाबेस से लोड करता हूं, तो मुझे इसे डेट ऑब्जेक्ट पर डालना होगा। मैंने कुछ नमूनों को देखा कि उनमें से सभी ने "डेटफॉर्मेट" का उपयोग किया था। लेकिन मेरा प्रारूप बिल्कुल दिनांक स्वरूप के समान है। इसलिए, मुझे लगता है कि "डेटफॉर्मेट" का उपयोग करने की कोई आवश्यकता नहीं है। क्या मैं सही हू?
क्या इस स्ट्रिंग को डेट ऑब्जेक्ट पर सीधे डालने के लिए वैसे भी है? मैं वर्तमान समय के साथ इस संग्रहीत समय की तुलना करना चाहता हूं।
धन्यवाद
======> अद्यतन
धन्यवाद प्रिय दोस्तों। मैं निम्नलिखित कोड का इस्तेमाल किया:
private boolean isPackageExpired(String date){
boolean isExpired=false;
Date expiredDate = stringToDate(date, "EEE MMM d HH:mm:ss zz yyyy");
if (new Date().after(expiredDate)) isExpired=true;
return isExpired;
}
private Date stringToDate(String aDate,String aFormat) {
if(aDate==null) return null;
ParsePosition pos = new ParsePosition(0);
SimpleDateFormat simpledateformat = new SimpleDateFormat(aFormat);
Date stringDate = simpledateformat.parse(aDate, pos);
return stringDate;
}
बिल्कुल - डेटाबेस में संग्रहीत करने से पहले दिनांक स्ट्रिंग में कुछ मानक फ़ॉर्म लागू करना बेहतर है। इस मामले में http://en.wikipedia.org/wiki/ISO_8601 –
"स्ट्रिंग टू डेट" पर अधिक सख्ती से काम करने वाले समाधान के लिए, "format.setLenient (false);" को जोड़ना सुविधाजनक है। कोशिश करने से पहले ... पकड़ ब्लॉक। इस तरह एक पूर्व में सही स्ट्रिंग तिथि की जांच बेहतर होगी। – Alecs