mysql 数据库的时间与字符串转换

1、当前日期、时间

now() 获取 当前日期和时间 //2019-11-12 181857
curdate() 当前日期,///2019-11-12
curtime() 当前时间 //181857
current_time() ; //同curtime(),current_time
current_date() ; // 同curdate(),current_date
current_timestamp() //同now()

2、时间截取:

date(expr) // 如果解析失败返回Null,返回日期类型date

time(expr) //返回时间类型 time

year(expr) //返回数字

month(expr)//返回数字【1-12day(expr) //返回数字【1-31】

hour(expr) //返回数字【0-23】

minute(expr) //返回数字【0-59】

last_day(date) //返回最后一天 ,返回date类型 //2018-04-30

to_days(expr) //返回到公元0年一月一日的总天数

DATE_FORMAT(expr,pattern) //时间截取,返回字符串
expr :时间字符串,日期字符串或者日期时间类型。
对于截取年,月,日,时,分,秒返回的都是对应的字符串,因为时间日期类型mysql 本身就只提供了date,time ,datetime,timestamp,year这五种类型

3、日期时间增减

ADDDATE(date,INTERVAL expr unit)  返回日期格式

date 要操作的日期时间,可以是日期类型也可以是日期字符串
INTERVAL: MySQL关键字 ,意思是间隔,间隙
unit 操作的单元,年,月,日,时,分,秒对应YEAR,MONTHDAY,HOUR,MINUTE,SECOND
expr 想要增加或减少的时间单位。expr>0,增加,expr<0减少

SUBDATE(date,INTERVAL expr unit) 类似adddate()

4、两个日期之间的差值

DATEDIFF(date1,date2)  //两个日期之间的差值

5、日期转化为字符串

DATE_FORMAT(date,'%Y-%m-%d %H:%i:%S') //转为字符串
TIME_FORMAT(date,pattern) //只能转化时间,不能转化日期
from_unixtime(timestamp,pattern) //时间戳转为字符串

6、字符串转时间
str_to_date(dateStr,pattern)

dateStr :字符串日期表达式
pattern :匹配模式

7、时间戳与时间转换

unix_timestamp([date]) 将日期转化为时间戳,参数可以不写默认now()
date 可以是日期时间类型 也可以是时间字符串 ‘2018-2-12’

from_unixtime(timestamp,'%Y-%m-%d %H:%i:%S') 根据format格式化时间戳

timestamp : 时间戳即 UNIX_TIMESTAMP()
pattern 目标的模式字符串。使用format参数后返回的结果是 *** 字符串***。常用的时间格式化占位符如下更多参数请参考,
%Y 年,四位数字
%y 年,后两位数字
%m 月 ,数字[1-12]
%d 日,月份里的第几天,两位数字[1-31]
%H 小时,24进制 [0-23]
%h 小时,12进制[0-11]
%i 分钟 [0-59]
%s | %S 秒 0-59
原文地址:https://www.cnblogs.com/xiaoxiao075/p/11949668.html