Java 我如何得到一个简单的日期而不是公历?
我正在创建预订系统,并尝试输入特定日期。我得到的不是我想要的简单格式2015/12/14,而是:Java 我如何得到一个简单的日期而不是公历?,java,date,netbeans,gregorian-calendar,Java,Date,Netbeans,Gregorian Calendar,我正在创建预订系统,并尝试输入特定日期。我得到的不是我想要的简单格式2015/12/14,而是: java.util.GregorianCalendar[time=1481500800000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id=“Europe/London”,offset=0,dstSavings=3600000,UseDayland=true,transit
java.util.GregorianCalendar[time=1481500800000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id=“Europe/London”,offset=0,dstSavings=3600000,UseDayland=true,transitions=242,lastRule=java.util.SimpleTimeZone[id=Europe/London,offset=0,dstSaves=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=1,startDayOfWeek=1,startDayOfWeek=1,startDayOfWeek=3600000,startTimeMode=2,endMode=2,endMonth=9,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],周的第一天=2,周的第一天=4,纪元=1,年=2016,月=11,年的周=50,月的周=3,月的日=12,年的日=347,周的日=2,周的日=2,月的日=2,上午下午=0,小时=0,日的小时=0,分钟=0,秒=0,毫秒=0,分区偏移=0,DST偏移=0]
我怎样才能修改我的代码,使它只保存为一个简单的日期而不是这个日期呢?因为我认为这是使我的程序崩溃的原因
我的ReservationDAO
class:
package projects.dao.textdao;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Path;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import projects.Reservation;
import projects.Customer;
import restaurant.dao.ReservationDAO;
public class TextReservationDAO extends ReservationDAO {
static final char DELIMITER = ':';
@Override
public List<Reservation> loadReservations(Path path, List<Customer> customer) {
List<Reservation> reservations = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(path.toString()))) {
int reservationId, customerId;
Calendar dateTime;
String[] temp;
String line = br.readLine();
while (line != null) {
Customer reservationCustomer = null;
temp = line.split(Character.toString(DELIMITER));
reservationId = Integer.parseInt(temp[0]);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String dateInString = temp[1];
Date date = null;
try {
date = sdf.parse(dateInString);
} catch (ParseException ex) {
Logger.getLogger(TextReservationDAO.class.getName()).log(Level.SEVERE, null, ex);
}
dateTime = Calendar.getInstance();
dateTime.setTime(date);
customerId = Integer.parseInt(temp[2]);
for (Customer c : customer) {
if (c.getCustomerId() == customerId) {
reservationCustomer = c;
}
}
line = br.readLine();
Reservation r = new Reservation(reservationId, dateTime, reservationCustomer);
reservations.add(r);
}
br.close();
} catch (IOException ex) {
Logger.getLogger(TextReservationDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return reservations;
}
@Override
public void storeReservations(Path path, List<Reservation> reservations) {
try (PrintWriter output = new PrintWriter(path.toFile())) {
for (Reservation r : reservations) {
output.println(toFileString(r));
}
output.close();
} catch (FileNotFoundException ex) {
Logger.getLogger(TextReservationDAO.class.getName()).log(Level.SEVERE, null, ex);
}
}
private String toFileString(Reservation r) {
String s
= Integer.toString(r.getReservationId()) + DELIMITER
+ r.getDateString() + DELIMITER
+ Integer.toString(r.getCustomer().getCustomerId()) + DELIMITER;
return s;
}
}
您可以使用 试试这个: 这将获取默认的日期格式
package projects;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashSet;
import java.util.Set;
public class Reservation {
private int reservationId;
private Calendar dateTime;
private Customer customer;
private static int numberOfReservations = 0;
public Reservation() {
this.reservationId = 0;
this.dateTime = null;
this.customer = null;
numberOfReservations++;
}
public Reservation(int reservationId, Calendar dateTime, Customer customer) {
this.reservationId = reservationId;
this.dateTime = dateTime;
this.customer = customer;
numberOfReservations++;
}
public static int getNumberOfReservations() {
return numberOfReservations;
}
public int getReservationId() {
return reservationId;
}
public void setreservationId(int reservationId) {
this.reservationId = reservationId;
}
public Calendar getDateTime() {
return dateTime;
}
public void setDateTime(Calendar dateTime)
{
this.dateTime = dateTime;
}
public Customer getCustomer()
{
return customer;
}
public void setCustomer(Customer customer)
{
this.customer = customer;
}
public String getDateString() {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy MMM dd");
String dateString = formatter.format(dateTime.getTime());
return dateString;
}
@Override
public String toString() {
return "Reservation id: " + getReservationId() + ", "
+ "Date/Time " + getDateTime() + "," +
"customer: " + getCustomer();
}
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
sdf.format(new Date());
new Date().toString()