我很难在mysql数据库中插入合适的datetime。数据库设置为:
aucid,int(11)人工智能
最低价格,浮动
启动价格,浮动
开始日期时间,日期时间
enddatetime,日期时间
<%@ page import ="java.sql.*" %>
<%
try{
String itemid = request.getParameter("itemid");
String startprice = request.getParameter("startprice");
String minprice = request.getParameter("minprice");
String startdate = request.getParameter("current");
String enddate = request.getParameter("length");
System.out.println(itemid);
System.out.println(startprice);
System.out.println(minprice);
System.out.println(startdate);
System.out.println(enddate);
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://xxx","xxx", "xxx");
Statement st = con.createStatement();
st.executeUpdate("INSERT INTO auctions (minprice, startprice, startdatetime, enddatetime, itemid) VALUES ('" + minprice + "','" + startprice + "','" + itemid + "','" + ADD CURRENT DATE + "','" + ADD FUTURE DATE + "')");
con.close();
String URL = "addauction.jsp";
response.sendRedirect(URL);
}
catch (SQLException e){
System.err.println("Got an exception!");
System.err.println(e.getMessage());
}
%>
我正在建立一个基本的拍卖网站。我需要能够设置创建拍卖的时间,并设置拍卖结束时的未来日期。
如果你能告诉我如何比较时间也会非常有帮助。
提前谢谢!
3条答案
按热度按时间twh00eeo1#
我的解决方案是将表中的timestamp字段配置为default now(),因此每次在db中添加一些内容而不提供该字段时,它都会自动为您填充。
vyswwuz22#
如果您使用的是prepared语句,那么可以使用
java.sql.Timestamp
类型。mysql也接受
DATETIME
格式为字符串的值YYYY-MM-DD HH:MM:SS
. 可以使用生成此格式的时间字符串DateTimeFormatter
:现在你要做的就是创造正确的
LocalDateTime
对于窗体参数(startdate
以及enddate
),然后绑定Timestamp
参数或连接格式化的DATETIME
字符串。m528fe3b3#
首先需要将字符串“startdate”转换为日期对象。然后添加一个未来的日期,或者根据需要操纵日期。