作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。
语法:FROM_UNIXTIME(unix_timestamp,format)
返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。
根据format字符串格式化date值。
下列修饰符可以被用在format字符串中:
例子:
使用mysql的时候,我们在数据库存储的时间的时候会用到时间戳,因为时间戳在处理的时候会方便一些,但是有些时候我们还会要显示date的格式,这个时候我们可以使用FROM_UNIXTIME函数进行处理。
addtime:2022-07-17 15:28:46
addtime:2022-07-17
平时为了方便存储和查询,通常会选择将时间存储为毫秒或者秒的形式。但是页面显示的时候很不直观,需要将整型数字转化成日期格式,转化方式包括下面几种:
1、秒数与Date之间的转换:selectfrom_unixtime(1388776825)
还可以定义时间格式,用法如下:
SELECTFROM_UNIXTIME(1388776825,'%Y-%m-%d%H:%m:%s')
结果:2014-01-0403:01:25
SELECT FROM_UNIXTIME(1388776825,'%Y年%m月%d')
结果:2014年1月4
2、将秒数转为Date:SELECTUNIX_TIMESTAMP('2014-03-2310:10:40')
如果想逆向转换,可以通过unix_timestamp()函数反向转换。用法如下:
SELECTUNIX_TIMESTAMP()//获取当前时间的秒数
SELECTUNIX_TIMESTAMP('2014-03-2310:10:40')//获取指定日期格式的秒数
SELECTUNIX_TIMESTAMP('2014-03-23')//获取指定日期格式的秒数
扩展资料:
一、date型换int型
SELECTUNIX_TIMESTAMP(‘2017-9-2213:54:45’)
二、int型转date型
SELECTFROM_UNIXTIME(1506059685)
需要注意的是,一个int值转换为DateTime需要从1970年1月1日0点0分0秒开始,但是必须明确,这个时间是标准时间,而不是北京时间。
数据库中数据的时间都是以标准时间为准绳的。所以必须转换到当前时间,中国是+8,可以简单的调用ToLocalTime达到效果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)