का उपयोग करते समय गलत डेटा प्राप्त करना कैलेंडर के रूप में स्ट्रिंग को पार्स करने का प्रयास करते समय मुझे अजीब त्रुटि मिल रही है। ऐसा लगता है कि यह दिनांक वस्तु को गड़बड़ कर देता है जिसे मैं परिणाम कैलेंडर के समय को सेट करने के लिए उपयोग करता हूं। त्रुटि बहुत असंगत है (या मुझे इसमें कोई तर्क नहीं दिख रहा है)। क्या कोई यह बता सकता है कि मैं क्या गलत कर रहा हूं?SimpleDateFormat.parse()
public class caltest{
public static final SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss.SSS");
public static void main(String[] args) {
String date1 = "1992-03-11 12:00:12.123";
String date2 = "1993-03-11 12:00:12.123";
String date3 = "1994-03-11 12:00:12.123";
String date4 = "1995-03-11 12:00:12.123";
parseStringAsCalendar(date1);
parseStringAsCalendar(date2);
parseStringAsCalendar(date3);
parseStringAsCalendar(date4);
}
public static String calendarToString(Calendar cal) {
return sdf.format(cal.getTime());
}
public static Calendar parseStringAsCalendar(String s) {
Date time = null;
try {
time = sdf.parse(s);
} catch (ParseException e) {
System.out.println("Exception");
e.printStackTrace();
}
System.out.println(time.toString());
GregorianCalendar ret = new GregorianCalendar();
ret.setTime(time);
return ret;
}
}
उत्पादन होता है:
Sun Dec 29 12:00:12 CET 1991
Sun Dec 27 12:00:12 CET 1992
Sun Dec 26 12:00:12 CET 1993
Sun Jan 01 12:00:12 CET 1995
दोनों जवाब बहुत उपयोगी थे, यह एक मूल समस्या पर एक प्रकाश की अधिक चमकता है। मैं गलत दस्तावेज की जांच कर रहा था। – Tegi
आपने मुझे इंटरनेट पर कई घंटे के निष्पक्ष खोज से बचाया है! धन्यवाद – KoW
* वर्ष * और * सप्ताह वर्ष * के बीच क्या अंतर है? दस्तावेज इस भेद पर थोड़ा सा स्पैस है (जैसा कैलेंडर के लिए प्रलेखन है)। – tytk