怎样在MySQL中操作日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在MySQL中操作日期相关的知识,希望对你有一定的参考价值。

mysql有丰富的时间函数:
ADDTIME (date2 ,time_interval ) //将time_interval加到date2
CONVERT_TZ (datetime2 ,fromTZ ,toTZ ) //转换时区
CURRENT_DATE ( ) //当前日期
CURRENT_TIME ( ) //当前时间
CURRENT_TIMESTAMP ( ) //当前时间戳
DATE (datetime ) //返回datetime的日期部分
DATE_ADD (date2 , INTERVAL d_value d_type ) //在date2中加上日期或时间
DATE_FORMAT (datetime ,FormatCodes ) //使用formatcodes格式显示datetime
DATE_SUB (date2 , INTERVAL d_value d_type ) //在date2上减去一个时间
DATEDIFF (date1 ,date2 ) //两个日期差
DAY (date ) //返回日期的天
DAYNAME (date ) //英文星期
DAYOFWEEK (date ) //星期(1-7) ,1为星期天
DAYOFYEAR (date ) //一年中的第几天
EXTRACT (interval_name FROM date ) //从date中提取日期的指定部分
MAKEDATE (year ,day ) //给出年及年中的第几天,生成日期串
MAKETIME (hour ,minute ,second ) //生成时间串
MONTHNAME (date ) //英文月份名
NOW ( ) //当前时间
SEC_TO_TIME (seconds ) //秒数转成时间
STR_TO_DATE (string ,format ) //字串转成时间,以format格式显示
TIMEDIFF (datetime1 ,datetime2 ) //两个时间差
TIME_TO_SEC (time ) //时间转秒数]
WEEK (date_time [,start_of_week ]) //第几周
YEAR (datetime ) //年份
DAYOFMONTH(datetime) //月的第几天
HOUR(datetime) //小时
LAST_DAY(date) //date的月的最后日期
MICROSECOND(datetime) //微秒
MONTH(datetime) //月
MINUTE(datetime) //分返回符号,正负或0
SQRT(number2) //开平方
以上函数仅供参考,详细的可以查看雷雪松的博客。
参考技术A 方法/步骤

1
select curDate(); #获取当前日期select curTime(); #获取当前时间select now(); #获取当前日期+时间

2
列举1个天数加减的例子,其他的看英文意思就可以理解了
select date_add(now(), interval 1 day); #当前日期天数+1
select date_add(now(), interval -1 day); #当前日期天数-1
select date_add(now(), interval 1 hour);
select date_add(now(), interval 1 minute);
select date_add(now(), interval 1 second);
select date_add(now(), interval 1 microsecond);
select date_add(now(), interval 1 week);
select date_add(now(), interval 1 month);
select date_add(now(), interval 1 quarter);
select date_add(now(), interval 1 year);

3
date_sub与date_add功能整合相反
select
date_sub(now(), interval 1 day); #当前日期天数-select date_sub(now(),
interval -1 day); #当前日期天数+select date_sub(now(), interval 1
hour); select date_sub(now(), interval 1 minute)select date_sub(now(),
interval 1 second)select date_sub(now(), interval 1 microsecond)select
date_sub(now(), interval 1 week)select date_sub(now(), interval 1
month)select date_sub(now(), interval 1 quarter)select date_sub(now(),
interval 1 year);

4
datediff函数计算两个日期间隔的天数
datediff(date1, date2); #date1 - date2

5
timediff函数计算两个时间间隔
timediff(time1, time2); #time1 - time2
time1和time2的格式必须要一样,返回时间差

6
str_to_date(str, format) 字符串转换为日期
select str_to_date('11/09/2014', '%m/%d/%Y'); -- 2014-11-09

以上是关于怎样在MySQL中操作日期的主要内容,如果未能解决你的问题,请参考以下文章

excel表格中怎样把19910108数字转换成日期?

vs中怎样操作mysql数据库

mysql日期操作

怎样在MySql中实现筛选数据的功能?

js问题,Date date=new Date()。我想把"20111231"这个日期值指定到date变量中,怎样操作?

Excel中进行插入日期选择器的操作技巧