所有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