美好的一天。 我只想問一個給定的日期添加日期。 我有一個jtexfield(txtStart)和另一個jtexfield(txtExpiry)。 我需要在txtStart中的日期後102天后在txtExpiry中顯示日期。 我正在使用KEYRELEASED事件。在我輸入txtStart之後,額外102天的日期將出現在txtExpiry中。如何在字符串數據類型的jtextfield中給出的日期添加天數
這是我的代碼,但它仍然是錯誤的。
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);
}
}
什麼拋出的錯誤? setText方法不只是一個String參數嗎?看起來你已經很久了。 – bsimic 2012-03-13 19:08:05
錯誤--->方法setText不能應用於給定的數據類型。我應該使用什麼?我需要把輸出放在txtExpiry – zairahCS 2012-03-13 19:14:01
你應該能夠把你的日期變量(這是一個字符串)並傳遞給你的txtExpiry.setText(日期)。 – bsimic 2012-03-13 19:21:20