2

这是 EJB 中用于添加预订的方法,我正在尝试将 a 设置为 String Arr 的值,因为 Arr 是一个字符串,它在 Servlet 中获取表单值,我想对 d 的值执行相同的操作 String Dept . 我正在使用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);}
4

2 回答 2

5

也许您没有为 Date 类型使用正确的格式,您必须指定您正在使用的格式,为此使用 SimpleDateFormat 类。

SimpleDateFormat textFormat = new SimpleDateFormat("yyyy-MM-dd");
String paramDateAsString = "2007-12-25";
Date myDate = null;

myDate = textFormat.parse(paramDateAsString);

希望能帮助到你。此致。

于 2013-03-27T12:13:18.550 回答
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 对象。

于 2013-03-27T12:11:54.710 回答