我让用户输入日期,输入的日期是SimpleDateFormat
. dd-MM-yyyy
. 我将它保存在一个类对象中,然后想要显示它。当我在JOptionPane
消息框中显示它时,它会显示如下内容:
java.text.SimpleDateFormat@9586200
什么可能导致这种情况,或者如何将其转换为字符串并显示?这是我将输入的日期从字符串转换为日期的代码。现在我将fDate
a 存储到SimpleDateFormat flightDate;
对象中。
try {
SimpleDateFormat fDate = new SimpleDateFormat("dd-MM-yyyy");
fDate.setLenient(false);
fDate.parse(dateText);
Main.flightObjects[Main.flightCount].setFlightDate(fDate);
} catch(java.text.ParseException d) {
JOptionPane.showMessageDialog(null,
"Please make sure your date is in the correct format! dd-mm-yyyy\n e.g. 16-03-2013", "Date Error 1", 1);
}
String dateS = (String)flightDate.format(flightDate);
String output = "Flight num: " + flightNumber + "\nDate: " + dateS + "\nDeparting City: " + departCity + "\nArrival City: " + arriveCity + "\nAvailable Seats: " + seatsAvailable + "\nSold Seats: " + seatsSold + "\nSeat Price: R" + seatPrice;
return output;
这^
就是我想要显示日期的方式。我将如何转换回String
?flightDate
被声明为SimpleDateFormat flightDate;
并且日期是从代码中的 try-catch 分配给它的。