一、mysql、Java、MySQL中Date的样式
首MySQL中Date格式为yyyy-MM-dd;例如:2005-04-15。
html中Date格式也是yyyy-MM-dd;例如:2006-04-15
Java中Date格式是Sat Apr 27 14:32:11 CST 2019。他就比较奇怪了
二、Java与MySQL的日期交互
(1)Java中的Date可以通过查询语句获得到MySQL中的Data值。
public void test01(){
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
String sql = "select * from t_stu";
conn = C3p0Util.getConn();
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while(rs.next()){
Date date = rs.getDate("birthday");
System.out.println(date);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
C3p0Util.realease(conn, ps, rs);
}
其中C3p0Util只是我写的一个util包,封装了一些数据库关闭和连接的类。
结果:
1997-07-25
2000-11-23
1998-10-21
1997-02-01
2000-09-27
结果表明Java中的Date是可以通过查询语句获得到MySQL中的Data值。
(2)Java传入Date值到数据库中
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd")
Date ds = sd.parse("2009-04-10");
java.sql.Date dd = new java.sql.Date(ds.getTime());
PreparedStatement ps = null;
ps.setDate(4, dd);
ps.setDate(xx,Date)中的Date是java.sql.Date 类型,固要稍微转化一下才可以
三、html与Java的日期交互
Java的Date也是可以和html直接进行交互的
四、html与MySQL的日期交互
这个是不能直接的
我们通常获取html中的Date是通过Java的,然后通过Java发送给数据库
首先获取日期:
使用String time = request.getParameter("time");获取用户填的日期信息,不过这个返回的是字符串
Date birthday = new SimpleDateFormat("yyyy-MM-dd").parse(time);
然后使用Java传参到数据中。请参照上面。