mysql中的unix_timestamp函数

来源:互联网 发布:什么是软件功能点 编辑:程序博客网 时间:2024/06/05 17:02

所有Linux系统文件系统底层存储的都是UTC时间,也就是说都是自1970年0时0分0秒以来UTC标准时间的秒数。

在mysql环境下:SELECT UNIX_TIMESTAMP(); 即可以得到

                                    

这个时间,是当前时间的秒数。可以逆转:SELECT FROM_UNIXTIME(1496822616);

                                    

TIMESTAMP是mysql数据库中的一种字段类型:内部存储是四个字节;精度达到微妙;转换成UTC时间存储;读取的时候再根据时区转换回来。

TIMESTAMP值可以从1970年一直到2037年,精度为一秒,IMESTAMP值显示尺寸的格式如下表所示:

+---------------+----------------+
| 列类型    | 显示格式    |
| TIMESTAMP(14) | YYYYMMDDHHMMSS | 
| TIMESTAMP(12) | YYMMDDHHMMSS  |
| TIMESTAMP(10) | YYMMDDHHMM   |
| TIMESTAMP(8) | YYYYMMDD    |
| TIMESTAMP(6) | YYMMDD     |
| TIMESTAMP(4) | YYMM      |
| TIMESTAMP(2) | YY       |
+---------------+----------------+

“完整”TIMESTAMP格式是14位,但TIMESTAMP列也可以用更短的显示尺寸,创造最常见的显示尺寸是6、8、12、和14。
你可以在创建表时指定一个任意的显示尺寸,但是定义列长为0或比14大均会被强制定义为列长14。
列长在从1~13范围的奇数值尺寸均被强制为下一个更大的偶数。

补充:获取当前时间,有两种方式:SELECT CURRENT_TIMESTAMP();SELECT NOW();

       

获取当前时间的秒数,也可以这样写:SELECT UNIX_TIMESTAMP(CURRENT_TIMESTAMP());但是如果SELECT UNIX_TIMESTAMP(NOW());就不可以。

关于sql时间转换的知识,可以参考:http://blog.csdn.net/zouxucong/article/details/71750887


原创粉丝点击