2 回答
TA贡献1859条经验 获得超6个赞
Date date=new Date(); //先获取一个Date对象
DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //创建一个格式化日期对象
Timestamp timeStamp = new Timestamp(date.getTime()); // 让日期时间转换为数据库中的timestamp类型
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。 日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数。
Timestamp 允许 JDBC API 将该类标识为 SQL TIMESTAMP 值。它通过允许小数秒到纳秒级精度的规范来添加保存 SQLTIMESTAMP 小数秒值的能力。Timestamp 也提供支持时间戳值的 JDBC 转义语法的格式化和解析操作的能力。
String punchTime = simpleDateFormat.format(date);//格式化后的时间
或者:
区别:
简言之,DateFormat+SimpleDateFormat可以将日期/时间格式化成自己想要的格式
如new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"),则simpleDateFormat.format(date)的结果为2018-01-25 15:35:57
若new SimpleDateFormat("yyyy年MM月dd 日HH时mm分ss秒") 则simpleDateFormat.format(date)的结果为2018年01月25日 15时35分57秒
而Timestamp 类,new Timestamp(date.getTime()) 只能得2018-01-25 15:35:57 这种格式
TA贡献1784条经验 获得超2个赞
你的是什么版本的啊,我试过了 我的是5.0版本的mysql
insert into rrr (bbb) values ('2009-9-9 23:22:11') 在mysql里面绝对好用啊 其中bbb为datetime型的
用下面的试一下 表名不能用table吧 它应该是保留词
insert into 替换成你的表名 (name,date,value) values ('魂牵梦萦','2009-06-08 23:53:17','朝秦暮楚');
添加回答
举报