Home > Database > Mysql Tutorial > body text

MySQL数据库中日期与时间函数UNIX_TIME()与UNIX_TIMESTAMP()_MySQL

WBOY
Release: 2016-06-01 13:41:09
Original
939 people have browsed it

bitsCN.com
MySQL数据库中日期与时间函数UNIX_TIME()与UNIX_TIMESTAMP() 这几天写代码,反复用到将日期时间字段转化成数字串和日期格式字符串的情况,感觉自己还处于壹知半解之中,索性花点时间查下相关资料,基本弄明白了 MySQL 中两个常用的日期函数的用法,记录于此,作为笔记供参考。 1、FROM_UNIXTIME( unix_timestamp ) 参数:通常是壹个十位的数字,如:1344887103 返回值:有两种,可能是类似 'YYYY-MM-DD HH:MM:SS' 这样的字符串,也有可能是类似于 YYYYMMDDHHMMSS.uuuuuu 这样的数字,具体返回什么取决于该函数被调用的形式。 1    mysql> select FROM_UNIXTIME(1344887103);2+---------------------------+3| FROM_UNIXTIME(1344887103) |4+---------------------------+5| 2012-08-14 03:45:03       |6+---------------------------+71 row in set (0.00 sec)
 2、FROM_UNIXTIME( unix_timestamp ,format ) 参数 unix_timestamp :与方法 FROM_UNIXTIME( unix_timestamp ) 中的参数含义一样; 参数 format : 转换之后的时间字符串显示的格式; 返回值:按照指定的时间格式显示的字符串; 01mysql> select FROM_UNIXTIME(1344887103,'%Y-%M-%D %h:%i:%s');02+-----------------------------------------------+03    | FROM_UNIXTIME(1344887103,'%Y-%M-%D %h:%i:%s') |04+-----------------------------------------------+05| 2012-August-14th 03:45:03                     |06+-----------------------------------------------+071 row in set (0.00 sec)08mysql> select FROM_UNIXTIME(1344887103,'%Y-%m-%D %h:%i:%s');09+-----------------------------------------------+10| FROM_UNIXTIME(1344887103,'%Y-%m-%D %h:%i:%s') |11+-----------------------------------------------+12| 2012-08-14th 03:45:03                         |13+-----------------------------------------------+14151 row in set (0.00 sec)参考链接:https://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_from-unixtime 1、UNIX_TIMESTAMP()   返回值:当前时间的UNIX格式数字串,或者说是 UNIX 时间戳(从 UTC 时间'1970-01-01 00:00:00'开始的秒数),通常为十位,如 1344887103。 1mysql> select unix_timestamp();2+------------------+3| unix_timestamp() |4+------------------+5|       1344887103 |6+------------------+71 row in set (0.00 sec)2、UNIX_TIMESTAMP( date ) 参数:date 可能是个 DATE 字符串,DATETIME 字符串,TIMESTAPE 字符串,或者是一个类似于 YYMMDD 或者 YYYYMMDD 的数字串。 返回:从 UTC 时间'1970-01-01 00:00:00'开始到该参数之间的秒数。服务器将参数 date 解释成当前时区的壹个值并且将其转化成 UTC 格式的内部时间。客户端则可以自行设置当前时区。当 UNIX_TIMESTAMP() 用于壹个 TIMESTAMP 列时,函数直接返回内部时间戳的值;如果你传递壹个超出范围的时间到 UNIX_TIMESTAMP(),它的返回值是零。 01    mysql> SELECT UNIX_TIMESTAMP();02+------------------+03| UNIX_TIMESTAMP() |04+------------------+05|       1344888895 |06+------------------+071 row in set (0.00 sec)08 09mysql> SELECT UNIX_TIMESTAMP('2012-08-14 16:19:23');10+---------------------------------------+11| UNIX_TIMESTAMP('2012-08-14 16:19:23') |12+---------------------------------------+13|                            1344932363 |14+---------------------------------------+15    1 row in set (0.00 sec)注意:如果你使用 UNIX_TIMESTAMP() 和 FROM_UNIXTIME() 来转换 TIMESTAMP 值与 Unix 时间戳的值,精度会丢失,因为这个映射在两个方向上不是一一对应的。比如说,由于本地时区的更改,有可能两个 UNIX_TIMESTAMP() 会映射到同壹个 Unix 时间戳的值。 FROM_UNIXTIME() 只会映射到原来的那个时间戳的值上。这里有个例子,在 CET 时区使用 TIMESTAMP: 01mysql> SELECT UNIX_TIMESTAMP('2005-03-27 03:00:00');02+---------------------------------------+03| UNIX_TIMESTAMP('2005-03-27 03:00:00') |04+---------------------------------------+05|                            1111885200 |06+---------------------------------------+07mysql> SELECT UNIX_TIMESTAMP('2005-03-27 02:00:00');08+---------------------------------------+09| UNIX_TIMESTAMP('2005-03-27 02:00:00') |10+---------------------------------------+11|                            1111885200 |12+---------------------------------------+13mysql> SELECT FROM_UNIXTIME(1111885200);14    +---------------------------+15| FROM_UNIXTIME(1111885200) |16+---------------------------+17| 2005-03-27 03:00:00       |18+---------------------------+ 参考链接: https://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_unix-timestamp  作者 Bairrfhoinn bitsCN.com

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!