煮酒听雨
首页
PHP
MYSQL
WEB
Linux
关于本站
登陆
注册
MySQL时间函数
编辑时间:2016-12-26
编辑:忘尘
阅读:692
#### MYSQL处理时间的方法 1、将时间戳转换成日期 FROM_UNIXTIME(time时间戳字段, '%Y年%m月%d日') FROM_UNIXTIME(时间戳, '%Y-%m-%d') 例: ```sql mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y%m%d' ) ->20071120 mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y年%m月%d' ) ->2007年11月20 sysql>select FROM_UNIXTIME(1616161699, '%Y-%m-%d %H:%i:%S') ->2021-03-19 21:48:19 smysql>select FROM_UNIXTIME(1156219870); ->2006-08-22 12:11:10 ``` 2、将时期日期转换成时间戳 UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date) 例: ```sql mysql> SELECT UNIX_TIMESTAMP('2009-08-06'); ->1249488000 ``` 3、输出当前时间 NOW() 来获得当前的日期/时间 select NOW(); 输出: 2018-03-23 17:24:58 4、输出当前时间戳 Select UNIX_TIMESTAMP(NOW()); 5、DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。 DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p') DATE_FORMAT(NOW(),'%m-%d-%Y') DATE_FORMAT(NOW(),'%d %b %y') DATE_FORMAT(NOW(),'%d %b %Y %T:%f') 结果类似: Dec 29 2008 11:45 PM 12-29-2008 29 Dec 08 29 Dec 2008 16:25:46.635 ##### 案例 1、mysql查询当天的记录数: ```sql $sql=”select * from message Where DATE_FORMAT(FROM_UNIXTIME(addtime),’%Y-%m-%d’) = DATE_FORMAT(NOW(),’%Y-%m-%d’) order by id desc”; ``` 2、统计每天的记录数 ```sql SELECT FROM_UNIXTIME(time, '%Y年%m月%d日') as time , count(id) as count FROM message GROUP BY FROM_UNIXTIME(time, '%Y年%m月%d日') ORDER BY time DESC; ``` 3、统计昨天的记录数 ```sql SELECT FROM_UNIXTIME( time, '%Y-%m-%d' ) AS time, COUNT( id ) AS count FROM message WHERE FROM_UNIXTIME( time, '%Y-%m-%d' ) = '2018-03-22'"; ``` #### 修饰符参考 FROM_UNIXTIME(unix_timestamp,format) 返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。根据format字符串格式化date值。 下列修饰符可以被用在format字符串中: %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 [AP]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), 这里星期一是星期的第一天 %% 一个文字“%”
来说两句吧
提交评论
最新评论
我的标签
函数
面试
REDIS
LNMP
验证
时间
JS
LINUX
CPA
常量
MYSQL
备份
微信
文件
压缩
优化
SVN
PHP
集合
数组
HTML
收藏
NGINX
配置
日志
性能
加密
下载
FORM
WEB
样式
SQL
表单
配置,面试,REDIS
编码
ARRAY
替换
截取
密码
版本
进程
定时
测试
事务
数据
权限
安全
防火墙
索引
设计模式
安全,面试
缓存
热文排行
LNMP状态管理命令
navicat for mysql 导入xlsx,
(置顶)开发中常用功能知识点笔记
(置顶)收藏优秀分享文章集合
PHP加密解密算法(Discuz!经典代码)
PHP 获取数组第一个元素或最后一个值
Nginx配置 nginx.conf 文件中常用配
MySQL错误日志 [Warning] IP ad
Redis持久化:快照(RDB)和AOF简解
浅析SQLmap
随机文章
友情链接
官方手册
thinkphp
php扩展
Linux命令
lnmp
PHP中文网
鸟哥Linux私房
Nginx中文文档
json格式化
Redis手册
composer中文文档
CentOS下载
流程图
VPN代理
菜鸟网
奇淼教程
首页
PHP
MYSQL
WEB
Linux
关于本站
登陆
注册