您的位置:首页 > 数据库 > MySQL

笔记:Mysql--Date型数据的存储

2015-08-10 05:57 537 查看
悲哀呀,弄了个通宵结是因为多写了个引号,拼sql字符串果然不是人干的活,听说反射可以不用手打,等睡醒了试试

问题

同学做的前端网页日期格式:08/13/2015

我的数据库日期格式为:2015-01-22

当insert出错时,我就蒙逼了,数据库竟然不认识!

解决办法

用的com.mysql.jdbc.Driver

反正也是拼sql字符串,只要Date类那列的值是个时间格式的字符串就好了,关键就在于数据库认不认识(思路好重要,你小子这点都没想通活该熬通宵)

//就是各种SimpleDateFormat
try{
    String s1 = "08/13/2015";//注册页面表单提取出来的值
    //参数里是即将转换的sql的格式,变身全靠他
    SimpleDateFormat sf = new SimpleDateFormat("dd/MM/yyyy");
    Date date = sf.parse(s1); //转化成Date,一开始以为要用Date类型的变量insert
    sf = new SimpleDateFormat("yyyy-MM-dd");//数据库认可的格式,精通此道的还有yyyy-MM-dd HH:mm:ss
    String s2 = sf.format(date);//再次转换就变成可以插的字符串格式了
 } catch (Exception e) {
    e.printStackTrace();
 }


PS:

碰到了诡异的事情:Date→字符串时会按照new SimpleDateFormat(S)参数里的格式化

但是Date←String是,输出Date会变成“Fri Jan 08 00:00:00 CST 2016”这种格式

现在想明白了,Date.toString可不是全都输出么,∴不同方向的转换参数的用途也不一样呀

写博客果然有好处,现在想想代码里就有好多提示,我都没注意T,T
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: