Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我如何得到一个简单的日期而不是公历?_Java_Date_Netbeans_Gregorian Calendar - Fatal编程技术网

Java 我如何得到一个简单的日期而不是公历?

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

我正在创建预订系统,并尝试输入特定日期。我得到的不是我想要的简单格式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,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()