insert into table (name,date,value) values ('魂牵梦萦',to_date('2009-06-08 23:53:17','YYYY-DD-MM HH:MI:SS'),'朝秦暮楚';
我是想要达到上面这条语句的效果。
我的date是DateTime类型的,老是插不进去,这里对日期值的控制要怎么做啊?高手们帮帮忙,我已经搞了好几个小时了都没弄好。
我晕,严重失望,思想严重复杂化。values后面没有反括号,也没有to_date这个用法,这是Oracle里面的。直接插入就可以了
insert into artide (article_name,user_id,menu_id,creat_date,artide_value) values ('朝秦暮楚',1,3,'2009-06-09 00:24:08','<p>魂牵梦萦</p>')
就这样就行了。郁闷。
mySQL插入Date Time 型数据就是要获取DateTime型的数据。
获取Date Time型数据的编程例子:
mysql> select now();
| now() |
| 2008-08-08 22:20:46 |
除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:
current_timestamp()
,current_timestamp
,localtime()
,localtime
,localtimestamp -- (v4.0.6)
,localtimestamp() -- (v4.0.6)
这些日期时间函数,都等同于 now()。鉴于 now() 函数简短易记,建议总是使用 now() 来替代上面列出的函数。
MySql的时间日期函数(Date Time)的种类:
1、函数ADDDATE(date,INTERVAL expr type ) ADDDATE(expr,days )
函数使用说明: 当被第二个参数的 INTERVAL 格式激活后, ADDDATE() 就是 DATE_ADD() 的同义词。相关函数 SUBDATE() 则是 DATE_SUB() 的同义词。对于 INTERVAL 参数上的信息 ,请参见关于 DATE_ADD() 的论述。
2、函数 ADDTIME(expr,expr2 )
函数使用说明: ADDTIME() 将 expr2 添加至 expr 然后返回结果。 expr 是一个时间或时间日期表达式,而 expr2 是一个时间表达式。
3、函数 CONVERT_TZ(dt,from_tz,to_tz )
函数使用说明: CONVERT_TZ() 将时间日期值 dt 从 from_tz 给出的时区转到 to_tz 给出的时区,然后返回结果值。关于可能指定的时区的详细论述,若自变量无效,则这个函数会返回 NULL
参考资料:百度百科 MySQL函数
Date date=new Date(); //先获取一个Date对象
DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //创建一个格式化日期对象
String punchTime = simpleDateFormat.format(date);//格式化后的时间
或者:
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 转义语法的格式化和解析操作的能力。
本回答被网友采纳Date date=new Date(); //先获取一个Date对象
DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //创建一个格式化日期对象
String punchTime = simpleDateFormat.format(date);//格式化后的时间
或者:
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 转义语法的格式化和解析操作的能力。
简言之,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 这种格式