向mysql中插入格式为"yyyy-MM-dd HH:mm:ss"的时间

某个table中有一个类型为datetime的字段,想向其插入一个时间,格式为"yyyy-MM-dd HH:mm:ss";
开始我的做法是,sql中执行 ps.setDate(2,date)。。。发现,插入的成功后,后台数据库的时间的时分秒显示总是为00:00:00.
我在sql执行前已经事先格式话好了。
SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String rReceptDate = sfd.format(date);
java.sql.Date date2 = java.sql.Date.valueOf(cFinishDate);
ps.setDate(7, date2);

  上面那种就直接出bug:
java.lang.NumberFormatException: For input string: "18 02:18:15"
  不懂,就问度娘,发现绝大多数还是叫我们先format格式好先,再插入。
  另外,将当前时间插入mysql的,我按照别人说的,试了一次:
ps.setDate(2, new java.sql.Date((long)new java.util.Date().getTime()));
结果,mysql数据中就是时分秒没有记录,显示 00:00:00。

   其实,我一直以为在mysql中格式为date,datetime等时间类型的数据,在java执行sql插入时,要一定用 ps.setDate 方法,不经意间,
看到一个网友写到可以直接用 setString 插入,当然事先格式好要插入时间的格式。经实验,用setString 插入真的很方便。

再说,要是还是类型为datetime的字段,要按格式“yyyy-MM-dd HH:mm:ss”从数据库中读取出来,我真心不会。怎么都是只能读取到“yyyy-MM-dd”格式的。

因此,最好的办法就是将字段的类型改用为varchar来存储时间。大大省去了格式转化带来的麻烦。

转载于:https://www.cnblogs.com/tgxblue/archive/2013/04/18/4217357.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值