MySql要怎么插入DateTime型的数据?

2024-10-30 05:05:46
推荐回答(5个)
回答1:

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函数

回答2:

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 转义语法的格式化和解析操作的能力。 

回答3:

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 这种格式

回答4:

你的是什么版本的啊,我试过了 我的是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','朝秦暮楚');

回答5:

DateTime 就是ymd his 这样的 你要在添加之前转换过来你要在执行添加之前把它转换成datetime格式的 比如$time=date('Y-m-d H:i:s'); 这就是当前时间,然后你执行insert的时候把$time放到第二个里面就行了