MySQL日期函数大全(一)(原创)
1、 获取当前时间: sysdate() 和 now()
区别:now()在sql执行开始时得到值,sysdate()是在sql执行中动态时间得到的
2、获取当前时间戳:current_timestamp
3、获取日期: current_date
获取时间: current_time
4、日期转化为字符串:date_format(日期字段,"%y-%m-%d")
%Y – 四位年
%m – 两位年
%d – 月
%H – 时
%i – 分
%s – 秒
5、字符串转化为日期:str_to_date()
6、转换为天数:to_days()
7、时间、秒转化
time_to_sec(time)
sec_to_time(seconds)
8、2001年的第32年:makdate(2001,31)
9、生成时分秒:maketime(hour,minute,second)
10、当前时间的前一天:select date_add(now(), interval -1 day)
11、当前时间的前一个月:select date_add(now(), interval -1 month)
12、当前时间加上 2小时15分钟30秒:select date_add(now(), interval ‘02:15:30’ hour_second)
13、当前时间加上 1天2小时10分钟10秒:select date_add(now(), interval ‘1 02:10:10’ day_second)
14、日期减去一个时间间隔:**date_sub()用法和date_add()**一样
上个月的第一天:date_sub(curdate()-day(curdate())+1,interval 1 month)
15、 datediff(time1.time2) 计算两个时间的天数
timediff(time1,time2) 计算两个时间的时间差
select datediff(‘2008-08-08 12:00:00’, ‘2008-08-01 00:00:00’); – 7
注意:time1和time2的类型必须一致
16、timestampadd() 函数类似于 date_add()。
关于**timestampadd()**函数的例子
select timestampdiff(year,‘2002-05-01’,‘2001-01-01’); – -1
select timestampdiff(day ,‘2002-05-01’,‘2001-01-01’); – -485
select timestampdiff(hour,‘2008-08-08 12:00:00’,‘2008-08-08 00:00:00’); – -12
MySQL timestampdiff() 函数就比 datediff() 功能强多了,datediff() 只能计算两个日期(date)之间相差的天数。
以上函数在工作中常用到,大家可以学习和温习一下
==============================================================