Mysql date,datetime的区别以及相互转换

Posted 阴翳公子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql date,datetime的区别以及相互转换相关的知识,希望对你有一定的参考价值。

参考:https://blog.csdn.net/a3025056/article/details/62885104/

在数据库中一直有这三个时间类型有点搞不太清楚。

今天就来说一下之间的区别,其实是特别好理解的。

date:你直接就可以理解为2017-3-21 不带时分秒的

datetime:相反,则是带时分秒的 

timestamp:时间戳 很好理解(1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。)

 

其中有提到时间范围的问题:

 

时间范围

date -- > ‘1000-01-01‘ to ‘9999-12-31‘.

datetime --> ‘1000-01-01 00:00:00‘ to ‘9999-12-31 23:59:59‘.

timestamp -- > ‘1970-01-01 00:00:01‘ UTC to ‘2038-01-19 03:14:07‘ UTC

 

常用日期函数以及转换

1、获取当前日期:
 CURRENT_DATE()或者CURDATE()

2、获取当前时间:
CURRENT_TIME()或者CURTIME()

3、获取当前日期和时间
NOW()或者CURRENT_TIMESTAMP()

4、linux/unix时间戳和mysql时间日期类型之间的转换:
UNIX_TIMESTAMP(NOW())                 //将mysql的datetime转换成linux/unix的时间戳;日期时间
UNIX_TIMESTAMP(DATE(NOW()))          //将mysql的date转换成linux/unix的日期。
UNIX_TIMESTAMP(TIME(NOW()))          //将mysql的time转换成linux/unix的时间。(用问题)
FROM_UNIXTIME(time_t)                //将unix的时间戳转换成mysql的datetime;日期时间
DATE(FROM_UNIXTIME(time_t))          //日期
TIME(FROM_UNIXTIME(time_t))          //时间














以上是关于Mysql date,datetime的区别以及相互转换的主要内容,如果未能解决你的问题,请参考以下文章

SQL 中 date 与datetime的区别

MySQL中datetime和timestamp的区别

mysql中date和datetime的区别

MySQL中datetime和timestamp的区别

如何正确总结datetime(end_date和begin date之间的区别) - mysql

mysql中date,datetime,timestamp数据类型区别