zoukankan      html  css  js  c++  java
  • 向mysql中插入格式为"yyyyMMdd 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来存储时间。大大省去了格式转化带来的麻烦。
  • 相关阅读:
    检测单链表是否含有环
    巧用正则和document.location.search获取URL参数的值
    网站前端性能优化
    Ubuntu 10.10 wubi安装错误处理
    SQL中随机数函数rand()简介
    C#实现智能提示(提示补全)功能
    重装系统使之svn再次复活
    MongoDB安装
    mongodb查询
    解决iframe中跨域session丢失的问题
  • 原文地址:https://www.cnblogs.com/tgxblue/p/4217357.html
Copyright © 2011-2022 走看看