public static List<Reservation> addReservations(List<Reservation> reservations, List<Customer> customers) {
int newReservationId = Reservation.getNumberOfReservations() + 1;
String startString = readString("Enter Reservation date");
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date = null;
try {
date = sdf.parse(startString);
} catch (ParseException ex) {
Logger.getLogger(ProjectIncrement5.class.getName()).log(Level.SEVERE, null, ex);
}
Calendar dateTime = Calendar.getInstance();
dateTime.setTime(date);
listCustomers(customers, reservations);
int reservationCustomerId = readInt("Enter Customer Id", Customer.getNumberOfCustomers(), 1);
Customer reservationCustomer = customers.get(reservationCustomerId - 1);
Reservation res = new Reservation(newReservationId, dateTime, reservationCustomer);
reservations.add(res);
return reservations;
}
预订类别:
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 Customer getCustomer()
{
return customer;
}
public void setCustomer(Customer customer)
{
this.customer = customer;
}
public String setDateTime() {
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
String dateString = formatter.format(this.dateTime.getTime());
return dateString;
}
@Override
public String toString() {
return "Reservation id: " + getReservationId() + ", "
+ "Date/Time " + setDateTime() +
"customer: " + getCustomer();
}
}
这是保存到导致错误的文本文件中的内容:
1:java.util.GregorianCalendar[time=851385600000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.zoneInfo[id=“欧洲/伦敦”,offset=0,dstSavings=3600000,usedayLight=true,transitions=242,lastrule=java.util.SimpleTimeZone[id=europe/London,offset=0,dstSavings=3600000,usedayLight=true DE=2,endmode=2,endmonth=9,endday=-1,enddayofweek=1,endtime=3600000,endtimemode=2]],firstdayofweek=2,最小daysinfirstweek=4,era=1,year=1996,month=11,week_ofyear=52,week_ofmonth=4,day_off_year=3,day_off_week_in_month=4,am_pm=0,hour=0,hour_off_day=0,minute=0,second=0,millisecond=0,
我认为错误发生在获取日历的实例时,但我不确定如何更容易地做到这一点,并修复这个问题。有人能帮忙吗?
问题是您将calendar.tostring()
而不是实际日期存储到文本文件中。
看看你都发了些什么:
第一天Ofweek=2,最小天FirstWeek=4,ERA=1,年=1996
,月=11
,周=52,周=4,周=24,周=359,周=3,周=4,AM_PM=0,小时=0
,周=0,分钟=0
,秒=0
,毫秒=0,Zone_offset=0,Dst_offset=0
那似乎是个正确的日期。我会说更多,这似乎是一个真正完整的约会,有很多信息不是吗???;)
我不知道这个日期应该如何存储,但是,例如,如果您想以dd/mm/yyyy
的格式存储日期,请使用这几行代码检查它是否是有效的日期(您已经在代码中这样做了)。
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
date = sdf.parse(startString);
检查后,如果startstring
有效,则不需要创建任何calendar
实例,只需将startstring
写入文本文件。
没有。这个想法是:
对象
中(日历
可以,但日期也可以)字符串
发送人类可读的日期。很抱歉,我不能说得更具体,我无法执行您的代码,因为缺少许多部分(customer
、readint
、listcustomers
等)。
当创建日历对象并使用SimpleDataFormat解析字符串来设置日期/时间时,是否可以在两行单独的代码中设置日期和时间?例如,在我的SQLite数据库中,日期(mm-dd-yyy)与时间(hh:mm)存储在一个单独的列中。做以下事情是否符合犹太教 第二个是卡尔。setTime line是否将日历对象的日期部分重置为现在,然后只更改时间?
你可以查看或更改 Navicat Monitor 的日期和时间设置。若要配置此设置,请前往“配置”->“日期和时间”。 列出 Navicat Monitor 的日期和时间信息。你可以启用“使用 24 小时制”来使用 24 小时制系统。
问题内容: 我想在Android应用程序中设置日期和时间。日期应为今天的日期,但默认情况下,文本字段中的时间应设置为6:00 AM。我已经阅读了很多链接,但其中大多数都显示了今天的时间和日期(例如:2016-03-28 11:53:55)。 问题答案:
可设定日期与时间。 自动设定 连接至PlayStation®Network时,自动取得日期与时间的信息。 手动设定 可手动设定年/月/日/时/分/秒(12小时制时亦可设定AM/PM)。 轻触[OK]后,即会自00秒开始计数。 手动设定(通过互联网) 轻触[手动设定(通过互联网)],可连接互联网取得日期与时间的信息。
问题内容: 我正在做一个自动化的查询。它需要查找最后一天晚上8点到晚上8点之间的所有交易。我当时正在考虑做这样的事情 对于自动查询,这很适合找出日期部分。但是变量的TIME部分是查询执行的当前时间。有没有一种快速简单的方法来将两个变量的时间部分硬编码为8:00 PM? 问题答案:
让我一起学习一个新的内建对象:日期(Date)。该对象存储日期和时间,并提供了日期/时间的管理方法。 例如,我们可以使用它来存储创建/修改时间,或者用来测量时间,再或者仅用来打印当前时间。 创建 创建一个新的 Date 对象,只需要调用 new Date(),在调用时可以带有下面这些参数之一: new Date() 不带参数 —— 创建一个表示当前日期和时间的 Date 对象: let now =