mysql 将时间戳直接转换成日期时间

飘逸的风12年前 (2013-06-21)数据库8466
FROM_UNIXTIME( ):转为时间戳类型时间
UNIX_TIMESTAMP( ) :返回长整形类型时间
from_unixtime()是MySQL里的时间函数 
 
select uid,userid,username,email,FROM_UNIXTIME(addtime,'%Y年%m月%d') from members
以上例子是sql语句的例子,直接能将mysql的时间戳类型转换成日期格式

date为需要处理的参数(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串 
后面的 '%Y%m%d' 主要是将返回值格式化 (这里的时间格式可以动态定义)
 
例如: 
mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y%m%d' )  
->20071120 
mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y年%m月%d' )  
->2007年11月20 
 
 

UNIX_TIMESTAMP()是与之相对正好相反的时间函数,将日期时间转换为时间戳类型
 
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date) 
 
  若无参数调用,则返回一个 Unix timestamp ('1970-01-01 00:00:00' GMT 之后的秒数) 作为无符号整数。若用date 来调用 UNIX_TIMESTAMP(),它会将参数值以'1970-01-01 00:00:00' GMT后的秒数的形式返回。date 可以是一个 DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD 或YYYMMDD格式的数字。 
 
例如: 
 
mysql> SELECT UNIX_TIMESTAMP() ; (执行使得时间:2009-08-06 10:10:40) 
->1249524739 
mysql> SELECT UNIX_TIMESTAMP('2009-08-06') ; 
->1249488000 
使用 FROM_UNIXTIME函数,具体如下:      FROM_UNIXTIME(unix_timestamp,format)    返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。    根据format字符串格式化date值。下列修饰符可以被用在format字符串中: %M 月名字(January……December)    %W 星期名字(Sunday……Saturday)    %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)    %Y 年, 数字, 4 位    %y 年, 数字, 2 位    %a 缩写的星期名字(Sun……Sat)    %d 月份中的天数, 数字(00……31)    %e 月份中的天数, 数字(0……31)    %m 月, 数字(01……12)    %c 月, 数字(1……12)    %b 缩写的月份名字(Jan……Dec)    %j 一年中的天数(001……366)    %H 小时(00……23)    %k 小时(0……23)    %h 小时(01……12)    %I 小时(01……12)    %l 小时(1……12)    %i 分钟, 数字(00……59)    %r 时间,12 小时(hh:mm:ss [AP]M)    %T 时间,24 小时(hh:mm:ss)    %S 秒(00……59)    %s 秒(00……59)    %p AM或PM    %w 一个星期中的天数(0=Sunday ……6=Saturday )    %U 星期(0……52), 这里星期天是星期的第一天    %u 星期(0……52), 这里星期一是星期的第一天    %% 一个文字“%”。   

相关文章

在MySQL字段中使用逗号分隔符

大多数开发者应该都遇到过在mysql字段中存储逗号分割字符串的经历,无论这些被分割的字段代表的是id还是tag,这个字段都应该具有如下几个共性。 被分割的字段一定是有限而且数量较少的,我们不可能在一...

MySQL性能优化-常见SQL错误用法

前言 MySQL在2016年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用...

ERROR 1364 (HY000): Field 'table' doesn't have a default value

解决办法:打开my.ini,查找 sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION&...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。