如何获取日期从 html 表单到服务

我有一个HTML表单,我有一个日期和时间选择器。我所要做的就是在 servlet 中获取日期和时间,然后将其插入到我的数据库中。我怎样才能以日期和时间格式获取该日期和时间,或者将它们作为字符串获取,然后解析它们。request.getParameter


法典:


String[] quantity = request.getParameterValues("Quantity_field");

     java.util.Date selectedDate = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("deliveryDate")); //using this one i am trying to get date but it is showing error

    java.util.Date selectedTime = new SimpleDateFormat("hh:mm:ss").parse(request.getParameter("deliveryTime")); 

    System.out.println(selectedDate);

    java.util.Date dateUtil = new Date();

    java.sql.Date dateSql = new java.sql.Date(dateUtil.getTime());

    java.sql.Timestamp timestamp = new Timestamp(dateUtil.getTime());



    try {

        con = DBConnection.createConnection();

        statement = con.createStatement();

        String query = " insert query  VALUES   (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";

        PreparedStatement ps = con.prepareStatement(query);

        for (int i = 0; i < quantity.length; i++) {

            if (Double.parseDouble(quantity[i]) != 0) {

                if(recorderNo!=0)

                {

                    ps.setInt(1, recorderNo);

                }

                else

                {

                    ps.setInt(1, 1);

                }

            }

        }

        ps.executeBatch();

我在Google上找到这个来获取日期和时间,但它的抛出错误在:


ps.setDate(13,selectedDate);

ps.setTime(14,selectedTime);

错误是:


“准备语句”类型中的方法 setDate(int, java.sql.Date) 不适用于参数(int、java.util.Date)


陪伴而非守候
浏览 148回答 2
2回答

胡子哥哥

您的是类型,而准备声明的方法需要类型。所以把你的java.util.Date selectedDatejava.util.DatesetDate(int, java.sql.Date)java.sql.Datejava.util.Datejava.sql.Date您可以添加以下行:java.util.Date selectedDate = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("deliveryDate"));&nbsp;java.util.Date selectedTime = new SimpleDateFormat("hh:mm:ss").parse(request.getParameter("deliveryTime"));&nbsp;// Add the lines belowjava.sql.Date selectedSQLDate =&nbsp; new java.sql.Date(selectedDate.getTime());java.sql.Time selectedSQLTime =&nbsp; new java.sql.Time(selectedTime.getTime());因此,您的代码将是:&nbsp; &nbsp; &nbsp; &nbsp; // Other codes&nbsp;try {&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; String[] quantity = request.getParameterValues("Quantity_field");&nbsp; &nbsp; &nbsp; &nbsp; java.util.Date selectedDate = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("deliveryDate"));&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; java.util.Date selectedTime = new SimpleDateFormat("hh:mm:ss").parse(request.getParameter("deliveryTime"));&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; // Add the lines below&nbsp; &nbsp; &nbsp; &nbsp; java.sql.Date selectedSQLDate =&nbsp; new java.sql.Date(selectedDate.getTime());&nbsp; &nbsp; &nbsp; &nbsp; java.sql.Time selectedSQLTime =&nbsp; new java.sql.Time(selectedTime.getTime());&nbsp; &nbsp; &nbsp; &nbsp; con = DBConnection.createConnection();&nbsp; &nbsp; &nbsp; &nbsp; statement = con.createStatement();&nbsp; &nbsp; &nbsp; &nbsp; String query = " insert query&nbsp; VALUES&nbsp; &nbsp;(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";&nbsp; &nbsp; &nbsp; &nbsp; PreparedStatement ps = con.prepareStatement(query);&nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i < quantity.length; i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (Double.parseDouble(quantity[i]) != 0) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(recorderNo!=0)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setInt(1, recorderNo);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setInt(1, 1);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setDate(2, dateSql);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setString(3, 77);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setDouble(4, 55);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setInt(5, 0);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setInt(6, 0);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setDouble(7, Double.parseDouble(quantity[i]));&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setInt(8, 0);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setInt(9, 0);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setInt(10, 0);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setString(11, outlet);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setTimestamp(12, timestamp);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setDate(13,selectedDate); // here i am trying to put date&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.setTime(14,selectedTime);// and here time&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps.addBatch();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; ps.executeBatch();&nbsp; &nbsp; &nbsp; &nbsp; // Other codes} catch (Exception e){&nbsp; &nbsp; &nbsp; &nbsp;// TODO Auto-generated catch block&nbsp;}但是我建议你使用类而不是旧版和JDBC 4.2或更高版本。有关详细信息,请参阅此处。java.timejava.util.Datejava.sql.Date

UYOU

您有两个不同的 Date 对象 (util.日期和 SQL。日期),因此您需要从 util 转换。要返回的日期。使用设置日期方法的日期。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java