这是EJB中用于添加预订的方法,我正在尝试设置String Arr的值,因为Arr是一个字符串,它获取Servlet中的表单值,我想对d进行相同的操作字符串部门我正在使用java.util.Date
,它适用于java.sql.Date
但不适用于java.util.Date
。
public void addBooking(String Arr, String Dept, String username, String roomnum){
BookingTableClass booking = new BookingTableClass();
Date a= Date.valueOf(Arr);//the problem is in these four lines
booking.setarrivalDate(a);
Date d= Date.valueOf(Dept);
booking.setdeptDate(d);
booking.setCustomerUsername(username);
Long rmnum = Long.valueOf(roomnum);
booking.setRoomNumber(rmnum);}
答案 0 :(得分:5)
也许你没有使用Date类型的正确格式,你必须指定你正在使用的格式,为此目的使用SimpleDateFormat类。
SimpleDateFormat textFormat = new SimpleDateFormat("yyyy-MM-dd");
String paramDateAsString = "2007-12-25";
Date myDate = null;
myDate = textFormat.parse(paramDateAsString);
希望它有所帮助。最好的问候。
答案 1 :(得分:4)
您可以将java.util.Date转换为java.sql.Date对象,如下所示:
java.util.Date now = new java.util.Date();
java.sql.Date date = new java.sql.Date(now.getTime());
即,您以毫秒为单位获取java.util.Date等效项,然后使用此值初始化java.sql.Date对象。