MySql UNIX_TIMESTAMP和FROM_UNIXTIME函数讲解
1. unix_timestamp(date)将时间转换为时间戳,如果参数为空,则处理的是当前的时间(返回从'1970-01-01 00:00:00'GMT开始的到当前时间的秒数,不为空则它返回从'1970-01-01 00:00:00' GMT开始的到指定date的秒数值),date可以是一个DATE字符串、一个DATETIME字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。
select unix_timestamp();
结果:
2 from_unixtime将时间戳转换为时间,返回表示Unix时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。
select from_unixtime(1348737229);
结果:
3.select unix_timestamp('2012-09-27');
结果:
4. select unix_timestamp('2012-09-27 17:13:49');
结果:
5. select from_unixtime('2012-09-27 17:13:49');
结果:
6. select from_unixtime('2011-09-25 17:13:49');
结果:
7. select now();
结果-显示系统当前时间
select unix_timestamp(now());
结果:
8.假如你向unix_timestamp()传递一个溢出日期,它会返回NULL,但请注意只有基本范围检查会被执行(年份从1970到2037,月份从01到12,日期从01到31)。
select unix_timestamp('1969-09-25 17:13:49');
结果
select unix_timestamp('2038-09-25 17:13:49');
结果
9 select from_unixtime(1348738577, '%Y%m%d');
结果:
select from_unixtime(1348738577, '%y%m%d');
结果:
select from_unixtime(1348738577, '%Y年%m月%d日');
结果:
注:
根据format字符串格式化date值。
下列修饰符可以被用在format字符串中:
%M月名字(January……December)
%W星期名字(Sunday……Saturday)
%w一个星期中的天数(0=Sunday ……6=Saturday)
%U星期(0……52),这里星期天是星期的第一天
%u星期(0……52),这里星期一是星期的第一天
%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
%%一个文字“%”。