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

我的应用:select *,FROM_UNIXTIME(create_at, '%Y-%m-%d') as date from stock


转载原文:

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), 这里星期一是星期的第一天   

%% 一个文字“%”。


转载自:http://blog.163.com/abkiss@126/blog/static/32594100201352713411141/


专业,技术,专注,是你的生存之道。

你可能感兴趣的:(mysql,date_format,from_unixtime)