سؤال

كيف أتناول سلسلة عيد ميلاد مدخلات مثل 02 26 1991 وجعلها في تقويم غريغوري؟

حاولت تحليلها أولاً ، لكنها تستمر في إعطائي رسالة خطأ ، لذا لست متأكدًا تمامًا مما أفعله خطأ. لدي أيضًا بيانات إدخال أخرى قبل هذا التاريخ. واحدة هي سلسلة أخرى والآخر قيمة مزدوجة.

هل كانت مفيدة؟

المحلول

يستخدم SimpleDateFormat لتحليل التاريخ ثم تعيينه إلى Calendar.

DateFormat df = new SimpleDateFormat("dd MM yyyy");
Date date = df.parse("02 26 1991");
Calendar cal = Calendar.getInstance();
cal.setTime(date);

يمكن استبدال السطر الثالث بـ:

Calendar cal = new GregorianCalendar();

لكني أفضل الإصدار الأول.

نصائح أخرى

استخدم DateFormat كما هو موضح هنا:

مثال:

DateFormat dateFormat = new SimpleDateFormat("hh:mm dd/MM/yy");
dateFormat.setLenient(false);
Date d = dateFormat.parse("06:23 01/05/06");

استخدم طريقة Parse () لفئة SimpleDateFormat. يمكنك استخدام setLenient (خطأ) لإجبار التحليل الصارم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top