MySQL 日期时间函数
获得当前日期时间函数
获得当前日期+时间:
1.now()
2.sysdate()
mysql> select now(), sysdate(),sleep(1), now(),sysdate(); +---------------------+---------------------+----------+---------------------+---------------------+ | now() | sysdate() | sleep(1) | now() | sysdate() | +---------------------+---------------------+----------+---------------------+---------------------+ | 2020-12-24 17:03:15 | 2020-12-24 17:03:15 | 0 | 2020-12-24 17:03:15 | 2020-12-24 17:03:16 | +---------------------+---------------------+----------+---------------------+---------------------+
sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值
3.CURDATE()
4.CURTIME()
SELECT CURDATE(),CURTIME();-- 2020-12-25 和 17:33:57
获得当前时间戳函数:
1.current_timestamp
2.current_timestamp()
select current_timestamp, current_timestamp();-- 2020-12-24 17:05:45
日期时间转换函数
-- 日期转字符串 select date_format('2020-12-24 12:10:01', '%Y-%m-%d %H:%i:%s'); -- 2020-12-24 12:10:01 -- 时间转字符串 select time_format('2020-12-24 12:10:01', '%H:%i:%s'); -- 12:10:01 -- 字符串转日期 select str_to_date('2020-12-24 12:10:01', '%Y-%m-%d %H:%i:%s'); -- 2020-12-24 12:10:01 -- 日期转天数 select to_days('2020-12-24'); -- 738148 -- 天数转日期 select from_days('738148'); -- 2020-12-24 -- 时间转秒 select time_to_sec('01:00:05'); -- 3605 -- 秒转时间 select sec_to_time(3605); -- '01:00:05' -- 拼凑日期 select makedate(2001,32); -- '2001-02-01' -- 拼凑时间 select maketime(12,15,30); -- '12:15:30'
Unix 时间戳、日期转换
select unix_timestamp(); -- 1608799459 select unix_timestamp('2020-12-24 12:10:01'); -- 1608783001 elect from_unixtime(1608783001); -- 2020-12-24 12:10:01 select from_unixtime(1608783001,'%Y-%m-%d %H:%i:%s'); -- 2020-12-24 12:10:01
日期时间计算函数
set @dt = '2020-12-24 16:46:34'; select date_add(@dt, interval 1 day); -- 2020-12-25 16:46:34 select date_add(@dt, interval 1 hour); -- 2020-12-24 17:46:34 select date_add(@dt, interval 1 minute); -- ... select date_add(@dt, interval 1 second); select date_add(@dt, interval 1 microsecond); select date_add(@dt, interval 1 week); select date_add(@dt, interval 1 month); select date_add(@dt, interval 1 quarter); select date_add(@dt, interval 1 year); select adddate(@dt, interval 1 day);-- 2020-12-25 16:46:34 select addtime(@dt, 1);-- 2020-12-24 16:46:35 select date_sub(@dt, interval '1 1:1:1' day_second);-- 2020-12-23 15:45:33 select datediff('2020-12-24', '2020-11-24');-- 30 select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00');-- 08:08:08 select timediff('08:08:08', '00:00:00');-- 08:08:08 select timestampadd(day, 1, '2008-08-08 08:00:00'); -- 2008-08-09 08:00:00 select timestampdiff(day ,'2002-05-01','2001-01-01'); -- 2008-08-09 08:00:00
时区转换函数
select convert_tz('2008-08-08 12:00:00', '+08:00', '+00:00'); -- 2008-08-08 04:00:00 select date_add('2008-08-08 12:00:00', interval -8 hour); -- 2008-08-08 04:00:00 select date_sub('2008-08-08 12:00:00', interval 8 hour); -- 2008-08-08 04:00:00 select timestampadd(hour, -8, '2008-08-08 12:00:00'); -- 2008-08-08 04:00:00
文章参考:https://www.cnblogs.com/ggjucheng/p/3352280.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2017-12-24 return break continue的区别 js java