كيفية إضافة عدد الأيام إلى التاريخ المحدد في jtextfield مع نوع بيانات السلسلة
-
13-12-2019 - |
سؤال
يوم جيد .أريد فقط أن أسأل عن إضافة أيام في تاريخ معين.لدي jtexfield (txtStart) وjtexfield آخر (txtExpiry).أحتاج إلى عرض التاريخ في txtExpiry بعد 102 يومًا من التاريخ الموجود في txtStart.أنا أستخدم حدث KEYRELEASED.بعد أن أقوم بإدخال txtStart، سيظهر التاريخ مع 102 يومًا إضافية في txtExpiry.
هذا هو الكود الخاص بي ولكنه لا يزال خاطئًا.
private void txtStartKeyReleased(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
// set calendar to 1 Jan 2007
int a = Integer.parseInt(txtStart.getText());
Calendar calendar = new GregorianCalendar(a,a,a);
calendar.add(Calendar.DAY_OF_MONTH,102);
PrintCalendar(calendar);
}
private void PrintCalendar(Calendar calendar){
// define output format and print
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
String date = sdf.format(calendar.getTime());
long add = Date.parse(date);
txtExpiry.setText(add); -----> this part here also has an error.
}
لا يزال الكود الخاص بي لا ينشئ التاريخ في txtExpiry.شكرا لك مقدما
إليك الرمز الصحيح بعد تلقي المساعدة:
private void txtStartKeyReleased(java.awt.event.KeyEvent evt) {
try {
Date date1;
date1 = new SimpleDateFormat("yyyy-MM-dd").parse(txtStart.getText());
System.out.println(date1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
cal.add(Calendar.DATE, 102);
String expDateString = sdf.format(cal.getTime());
txtExpiry.setText(expDateString);
}catch (ParseException ex) {
Logger.getLogger(ClientInfo.class.getName()).log(Level.SEVERE, null, ex);
}
}
المحلول
يستخدم
yyyy-MM-dd
ملحوظة:رأس المال مم
يرى : SimpleDateFormat
الآن، بمجرد حصولك على مثيل التاريخ الذي يمكنك استخدامه Calendar
للقيام بحساب الأيام
Calendar cal = Calendar.getInstance();
cal.setTime(parsedDate);
cal.add(Calendar.DATE, 102);
String expDateString = dateFormatter.format(cal.getTime());
لا تنتمي إلى StackOverflow