nciaer 发表于 2018-11-9 11:30:31

mysql时间函数

1,时间戳转日期函数from_unixtime,原型如下:
from_unixtime(时间戳, 日期格式)这个函数的作用是将以时间戳形式保存的时间转换成我们平常可读的格式,如2018-11-09,通常也用于where比较中,来获取某个时间的数据,下面来个例子:
select from_unixtime(dateline, '%Y-%m-%d %H:%i:%s') as date from demo -- 返回的格式就是2018-111-09 11:30:47格式%Y,%m这些就是日期格式了,跟PHP中的类似。
网上找的日期格式
%M 月名字(January~December)
%W 星期名字(Sunday~Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位
%y 年, 数字, 2 位
%a 缩写的星期名字(Sun~Sat)
%d 月份中的天数, 数字(00~31)
%e 月份中的天数, 数字(0~31)
%m 月, 数字(01~12)
%c 月, 数字(1~12)
%b 缩写的月份名字(Jan~Dec)
%j 一年中的天数(001~366)
%H 小时(00~23)
%k 小时(0~23)
%h 小时(01~12)
%I 小时(01~12)
%l 小时(1~12)
%i 分钟, 数字(00~59)
%r 时间,12 小时(hh:mm:ss M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00~59)
%s 秒(00~59)
%p AM或PM
%w 一个星期中的天数(0=Sunday ~6=Saturday )
%U 星期(0~52), 这里星期天是星期的第一天
%u 星期(0~52), 这里星期一是星期的第一天

2,日期转时间戳函数 unix_timestamp,原型如下:
unix_timestamp([日期字段]) -- 日期字段为空则返回当前时间戳这个就是把我们常见的日期转为时间戳,直接来个例子吧:
select UNIX_TIMESTAMP('2018-11-09 11:34:34') -- 返回这个时间的时间戳1541734474
3,获取当前日期时间函数 now()。很简单就是返回当前日期时间,如2018-11-09 11:41:36

4,获取当前日期函数用curdate()。结果如2021-05-18,如果字段是日期时间类型,想要获取当天的记录,where子句可以使用left(dateline, 10) = curdate(),这样就不用涉及到具体日期了,left函数是获取字符串左边子字符串,比如left('2021-05-18 10:02:35', 10)的值是2021-05-18。



页: [1]
查看完整版本: mysql时间函数