为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

陪伴而非守候 2022-09-14 09:31:29
我有一个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)
查看完整描述

2 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

您的是类型,而准备声明的方法需要类型。所以把你的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")); 

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

// Add the lines below

java.sql.Date selectedSQLDate =  new java.sql.Date(selectedDate.getTime());

java.sql.Time selectedSQLTime =  new java.sql.Time(selectedTime.getTime());

因此,您的代码将是:


        // Other codes

 try { 

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

        java.util.Date selectedDate = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("deliveryDate")); 

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

        // Add the lines below

        java.sql.Date selectedSQLDate =  new java.sql.Date(selectedDate.getTime());

        java.sql.Time selectedSQLTime =  new java.sql.Time(selectedTime.getTime());

        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.setDate(2, dateSql);

                ps.setString(3, 77);

                ps.setDouble(4, 55);

                ps.setInt(5, 0);

                ps.setInt(6, 0);

                ps.setDouble(7, Double.parseDouble(quantity[i]));

                ps.setInt(8, 0);

                ps.setInt(9, 0);

                ps.setInt(10, 0);

                ps.setString(11, outlet);

                ps.setTimestamp(12, timestamp);

                ps.setDate(13,selectedDate); // here i am trying to put date

                ps.setTime(14,selectedTime);// and here time

                ps.addBatch();

            }

        }

        ps.executeBatch();

        // Other codes


} catch (Exception e){

       // TODO Auto-generated catch block 

}

但是我建议你使用类而不是旧版和JDBC 4.2或更高版本。有关详细信息,请参阅此处。java.timejava.util.Datejava.sql.Date


查看完整回答
反对 回复 2022-09-14
?
UYOU

TA贡献1878条经验 获得超4个赞

您有两个不同的 Date 对象 (util.日期和 SQL。日期),因此您需要从 util 转换。要返回的日期。使用设置日期方法的日期。


查看完整回答
反对 回复 2022-09-14
  • 2 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号