Java util字符串的日期值



这是EJB中用于添加预订的方法,我试图将a设置为字符串Arr的值,因为Arr是一个字符串,它在Servlet中获得表单值,我想为字符串Dept的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);}

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

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

希望有帮助。致以最亲切的问候。

您可以像这样将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对象。

最新更新