展开全部
平时为了方便存储和查询,通常会选择将时间存储为毫秒或者秒的形式。但是页面显示32313133353236313431303231363533e59b9ee7ad9431333431353339的时候很不直观,需要将整型数字转化成日期格式,转化方式包括下面几种:
1、秒数与Date之间的转换:select from_unixtime(1388776825);
还可以定义时间格式,用法如下:
SELECT FROM_UNIXTIME( 1388776825, '%Y-%m-%d %H:%m:%s');
结果:2014-01-04 03:01:25
SELECT FROM_UNIXTIME( 1388776825, '%Y年%m月%d' )
结果:2014年1月4
2、将秒数转为Date:SELECT UNIX_TIMESTAMP('2014-03-23 10:10:40')
如果想逆向转换,可以通过unix_timestamp()函数反向转换。用法如下:
SELECT UNIX_TIMESTAMP() ;//获取当前时间的秒数
SELECT UNIX_TIMESTAMP('2014-03-23 10:10:40') ; //获取指定日期格式的秒数
SELECT UNIX_TIMESTAMP('2014-03-23') ; //获取指定日期格式的秒数
扩展资料:
一、date型换int型
SELECT UNIX_TIMESTAMP(‘2017-9-22 13:54:45’)
二、int型转date型
SELECT FROM_UNIXTIME(1506059685)
需要注意的是,一个int值转换为DateTime 需要从1970年1月1日0点0分0秒开始,但是必须明确,这个时间是标准时间,而不是北京时间。
数据库中数据的时间都是以标准时间为准绳的。所以必须转换到当前时间, 中国是+8 ,可以简单的调用ToLocalTime达到效果。