MySQL日期函数
时间:2009-06-30 来源:xiaolg2008
1. now()函数返回当前时间,格式yyyyMMdd HH:mm:ss,如2009-06-30 20:40:00
2. curtime()函数返回当前时间,格式HH:mm:ss, 如 20:40:45
3. curdate()函数返回当前日期,格式yyyyMMdd, 如 2009-06-30
4. unix_timestamp()函数返回UINX时间戳,即从1970-01-01 00:00:00到当前时间流逝的秒数
如果指定参数,则返回与指定参数之间的秒数, unix_time(20090630)-->1246291200
5. from_unix(seconds)返回该时间的对应的日期,与unix_timestamp()相反
from_unix(0)--->1970-01-01 00:00:00
from_unix(1246291200)---> 2009-06-30 00:00:00
6. year()返回该日期的年份,如果日期不能正确解析,则返回null
year('2009-06-30)--> 2009
year(20090630202020)-->2009
year(20090631000000)-->null
7. month()函数返回日期的月,如果日期无法解析,则返回null
month(20090701074032)-->7
month(20090700074232)-->7
month(20090000000000)-->0 为什么0能解析正确呢?
month(20091331000000)-->null
8. monthname()返回月份名, dayname()返回星期名
monthname(20090701121212)-->July
monthname(20090701)--->July
monthname(20090732)--->null
monthname(20090000)--->null
monthname('2009-07-02')-->July
monthname('20090702')-->July
dayname('20090701')-->Wednesday
9. dayofyear(),dayofmonth(),dayofweek()分别返回这天在一年中/月中/周中的天数
dayofyear(20090701)-->182
dayofmonth(20090701)-->1
dayofweek(20090701)--->4 # 2009-7-1星期三,以周日起,是一周中第4天
10.week()返回指定日期是一年中第几个星期,如果1月1日不是从周日开始的,则第一周算是第0周,如果是从周一开始,则第一周就是第一周
week(20090101)--->0 # 因为1月1日是星期四,不是周日,所以是第0周
week(20060101)--->1 # 因为1月1日时星期日,所以是第一周
11. yearweek()返回指定日期是那一年的哪一个星期
yearweek(20060101)-->200601 # 表示是2006年的第1个星期
yearweek(20090101)-->200852 # 表示是2008年的第52个星期
12. hour(), minute(), second()返回小时,分钟,秒
hour(200920)--->20 # 按时间来解析
hour(20090101202020)--> 20
minute(2009)-->20 # 可以解析4位,即mmss
minute(200901)-->9
second(2009)-->9
second(200901)-->1
second(09)-->9
second(9)-->9
13.sec_to_time()将指定时间转化成易读的时间
sec_to_time(01)-->00:00:01
time_to_sec()将制定的时间转换成秒
time_to_sec(010101)-->3661
14.date_add(), date_sub()函数用于加减日期
date_add(date, interval n key)-->date日期,n要增加的数目,key关键字,增加月,年等
key包括(day, day_hour, day_minute, day_second, hour, hour_minute,
hour_second,minute, minute_second, month, second, year, year_month)
且date要求是YYYY-MM-DD HH-MM-SS或者YYYYMMDDHHMMSS格式
date_add('2009-07-01 12:00:00', interval 1 month)--> 2009-08-01 12:12:12
date_add('2009-07-01 12:00:00', interval '1 01:01' day_minute)->2009-07-02 13:01
date_sub('2009-07-01 12:12:12', interval '6-1' year_month)-->2003-06-01 12:12:12
15. extract()从日期中抽取去相应的项
extract(month from '20090701')-->7
extract(year from '20090701')-->2007
相关阅读 更多 +