mysql-日期函数(含示例)

order
idnamedateadd_time
1手机2020-06-23 00:50:001592992778
22020-06-23 00:00:001592992778

ADDDATE(expr,days):向expr中添加days天

SELECT ADDDATE(`date`,5) FROM `order` WHERE id = 1; -- 2020-06-28 00:50:00

ADDDATE(date,INTERVAL expr unit):向date中添加expr个unit

SELECT ADDDATE(`date`,INTERVAL 5 DAY) FROM `order` WHERE id = 1; -- 2020-06-28 00:50:00
SELECT ADDDATE(`date`,INTERVAL 5 YEAR) FROM `order` WHERE id = 1; -- 2025-06-23 00:50:00

ADDTIME(expr1,expr2):向expr1中添加expr2时间

SELECT ADDTIME(`date`,5) FROM `order` WHERE id = 1; -- 2020-06-23 00:50:05
SELECT ADDTIME(`date`,'01:01:05') FROM `order` WHERE id = 1; -- 2020-06-23 01:51:05

CURDATE():返回当前的日期

SELECT CURDATE(); -- 2020-06-24

CURTIME():返回当前的时间

SELECT CURTIME(); -- 16:01:33

DATE_ADD(date,INTERVAL expr unit):向date中添加expr个unit

SELECT DATE_ADD(`date`,INTERVAL 5 DAY) FROM `order` WHERE id = 1; -- 2020-06-28 00:50:00
SELECT DATE_ADD(`date`,INTERVAL 5 YEAR) FROM `order` WHERE id = 1; -- 2025-06-23 00:50:00

DATE_FORMAT(date,format):按format格式化date

SELECT DATE_FORMAT(`date`,'%y/%m/%d') FROM `order` WHERE id = 1; -- 20/06/23

DATE_SUB(date,INTERVAL expr unit):向date中减去expr个unit

SELECT DATE_SUB(`date`,INTERVAL 1 DAY) FROM `order` WHERE id = 1; -- 2020-06-22 00:50:00

DAYOFWEEK(date):返回date对应的星期

SELECT DAYOFWEEK(`date`) FROM `order` WHERE id = 1; -- 3
-- 星期日->1 星期一->2 星期六 ->7

DAYOFMONTH(date):返回date月中对应的天

SELECT DAYOFMONTH(`date`) FROM `order` WHERE id = 1;  -- 23

DAYOFYEAR(date):返回date年中对应的天

SELECT DAYOFYEAR(`date`) FROM `order` WHERE id = 1; -- 175

DAYNAME(date):返回date对应的星期名

MONTHNAME(date) :返回date对应的月份名

SELECT DAYNAME(`date`) FROM `order` WHERE id = 1;  -- Tuesday
SELECT MONTHNAME(`date`) FROM `order` WHERE id = 1; -- June

FROM_UNIXTIME(unix_timestamp):将时间戳unix_timestamp格式化为时间

FROM_UNIXTIME(unix_timestamp,format):将时间戳unix_timestamp按format格式化为时间

SELECT UNIX_TIMESTAMP(date):将date转为unix时间戳

SELECT FROM_UNIXTIME(`add_time`) FROM `order` WHERE id = 1; -- 2020-06-24 17:59:38
SELECT FROM_UNIXTIME(`add_time`,'%d') FROM `order` WHERE id = 1; -- 24
SELECT UNIX_TIMESTAMP('2020-01-22') -- 1579622400

注意:mysql中的unix时间戳是10位,最后一位到秒,而java中的时间戳13位,最后一位是毫秒。

HOUR(time):返回time中的小时

MINUTE(time):返回time中的分钟

SECOND(time):返回time中的秒

SELECT HOUR(`date`) FROM `order` WHERE id = 1; -- 0
SELECT HOUR('14:42:56') -- 14
SELECT MINUTE(`date`) FROM `order` WHERE id = 1; -- 50
SELECT MINUTE('14:42:56'); -- 42
SELECT SECOND(`date`) FROM `order` WHERE id = 1; -- 0
SELECT SECOND('14:42:56'); -- 56

DAY(date):返回date中的天
MONTH(date):返回date中的月
QUARTER(date):返回date中对应的季
WEEK(date):返回date中的周
YEAR(date):返回date中的年

SELECT DAY(`date`) FROM `order` WHERE id = 1; -- 23
SELECT MONTH(`date`) FROM `order` WHERE id = 1; -- 6
SELECT QUARTER(`date`) FROM `order` WHERE id = 1; -- 2
SELECT WEEK(`date`) FROM `order` WHERE id = 1; -- 25
SELECT YEAR(`date`) FROM `order` WHERE id = 1; -- 2020

NOW():返回当前时间

SELECT NOW(); -- 2020-06-24 17:56:33

format格式

SELECT DATE_FORMAT(`date`,'%a') FROM `order` WHERE id = 1; -- Tue
格式描述示例
%a缩写星期名Tue
%b缩写月名Jun
%c月,数值6
%D带有英文前缀的月中的天23rd
%d月的天,数值(00-31)23
%e月的天,数值(0-31)23
%f微秒000000
%H小时 (00-23)00
%h小时 (01-12)12
%I小时 (01-12)12
%i分钟,数值(00-59)50
%j年的天 (001-366)175
%k小时 (0-23)0
%l小时 (1-12)12
%M月名June
%m月,数值(00-12)06
%pAM 或 PMAM
%r时间,12-小时(hh:mm:ss AM 或 PM)12:50:00 AM
%S秒(00-59)00
%s秒(00-59)00
%T时间, 24-小时 (hh:mm:ss)00:50:00
%U周 (00-53) 星期日是一周的第一天25
%u周 (00-53) 星期一是一周的第一天26
%V周 (01-53) 星期日是一周的第一天,与 %X 使用25
%v周 (01-53) 星期一是一周的第一天,与 %x 使用26
%W星期名Tuesday
%w周的天 (0=星期日, 6=星期六)2
%X年,其中的星期日是周的第一天,4 位,与 %V 使用2020
%x年,其中的星期一是周的第一天,4 位,与 %v 使用2020
%Y年,4 位2020
%y年,2 位20

unit值

SELECT ADDDATE(`date`,INTERVAL 5 DAY) FROM `order` WHERE id = 1;
-- 2020-06-23 00:50:00.000005
含义示例
MICROSECOND微秒2020-06-23 00:50:00.000005
SECOND2020-06-23 00:50:05
MINUTE2020-06-23 00:55:00
HOUR小时2020-06-23 05:50:00
DAY2020-06-28 00:50:00
WEEK2020-07-28 00:50:00
MONTH2020-11-23 00:50:00
QUARTER2021-09-23 00:50:00
YEAR2025-06-23 00:50:00
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值