MySQL获取当前日期、时间、时间戳函数

  • 1.MySQL 获取当前日期时间 函数
    • 1.1 获取当前日期(date)函数:curdate()
    • 1.2 获取当前时间(time)函数:curtime()
    • 1.3 获取当前日期+时间(date + time)函数:now()
    • 1.4 获取当前日期+时间(date + time)函数:sysdate()
    • 1.5 获取当前时间戳函数:current_timestamp, current_timestamp()
  • 2.MySQL 日期/时间 转换函数
    • 2.1 日期/时间转换为字符串 函数:date_format(date,format), time_format(time,format)
    • 2.2 字符串转换为日期 函数:str_to_date(str, format)
    • 2.3 日期/天数转换 函数:to_days(date), from_days(days)
    • 2.4 时间/秒转换 函数:time_to_sec(time), sec_to_time(seconds)
    • 2.5 拼凑日期/时间 函数:makdedate(year,dayofyear), maketime(hour,minute,second)
    • 2.6 Unix时间戳/日期 转换函数
  • 3.MySQL 日期时间计算函数
    • 3.1 为日期增加一个时间间隔:date_add()
    • 3.2 为日期减去一个时间间隔:date_sub()
    • 3.3 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2)
    • 3.4 时间戳(timestamp)转换、增、减函数:
  • 4.MySQL 时区(timezone)转换函数:convert_tz(dt,from_tz,to_tz)

1.MySQL 获取当前日期时间 函数

1.1 获取当前日期(date)函数:curdate()

mysql> select curdate(); 2020-07-24

1.2 获取当前时间(time)函数:curtime()

mysql> select curtime(); 10:50:29

1.3 获取当前日期+时间(date + time)函数:now()

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2020-07-24 11:29:38 |
+---------------------+

1.4 获取当前日期+时间(date + time)函数:sysdate()

sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。sysdate() 日期时间函数,一般情况下很少用到。
看下面的例子就明白了:

mysql> select now(), sleep(3), now();
+---------------------+----------+---------------------+
| now()               | sleep(3) | now()               |
+---------------------+----------+---------------------+
| 2020-07-24 11:30:47 |        0 | 2020-07-24 11:30:47 |
+---------------------+----------+---------------------+

1.5 获取当前时间戳函数:current_timestamp, current_timestamp()

mysql> select current_timestamp, current_timestamp();
+---------------------+---------------------+
| current_timestamp   | current_timestamp() |
+---------------------+---------------------+
| 2020-07-24 11:32:24 | 2020-07-24 11:32:24 |
+---------------------+---------------------+

2.MySQL 日期/时间 转换函数

2.1 日期/时间转换为字符串 函数:date_format(date,format), time_format(time,format)

MySQL 日期、时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式。
它是 str_to_date(str,format) 函数的 一个逆转换。

mysql> select date_format('2020-07-24 11:32:24', '%Y%m%d%H%i%s');
+----------------------------------------------------+
| date_format('2020-07-24 11:32:24', '%Y%m%d%H%i%s') |
+----------------------------------------------------+
| 20200724113224                                     |
+----------------------------------------------------+

2.2 字符串转换为日期 函数:str_to_date(str, format)

可以看到,str_to_date(str,format) 转换函数,可以把一些杂乱无章的字符串转换为日期格式。
另外,它也可以转换为时间。“format” 可以参看 MySQL 手册。

select str_to_date('07/24/2020', '%m/%d/%Y'); -- 2020-07-24
select str_to_date('07/24/2020' , '%m/%d/%y'); -- 2020-07-24
select str_to_date('07.24.2020', '%m.%d.%Y'); -- 2020-07-24
select str_to_date('11:32:24', '%h:%i:%s'); -- 11:32:24
select str_to_date('07.24.2020 11:32:24', '%m.%d.%Y %h:%i:%s'); -- 2020-07-24 11:32:24

2.3 日期/天数转换 函数:to_days(date), from_days(days)

select to_days('0000-00-00'); -- 0(日期转换为天数)
select to_days('2020-07-24'); -- 737995(日期转换为天数)
select from_days(0); -- 0000-00-00(天数转换为日期)
select from_days(737995); -- 2020-07-24(天数转换为日期)

2.4 时间/秒转换 函数:time_to_sec(time), sec_to_time(seconds)

select time_to_sec('01:00:05'); -- 3605(时间转换为秒数)
select sec_to_time(3605); -- 01:00:05(秒数转换为时间)

2.5 拼凑日期/时间 函数:makdedate(year,dayofyear), maketime(hour,minute,second)

select makedate(2020,31); -- 2020-01-3(拼凑日期)
select makedate(2020,32); -- 2020-02-01(拼凑日期)
select maketime(12,15,30); -- 12:15:30(拼凑时间)

2.6 Unix时间戳/日期 转换函数

unix_timestamp(),
unix_timestamp(date),
from_unixtime(unix_timestamp),
from_unixtime(unix_timestamp,format)
下面是示例:

select unix_timestamp(); -- 1595563223
select unix_timestamp('2020-07-24'); -- 1595520000
select unix_timestamp('2020-07-24 12:02:05'); -- 1595563325
select from_unixtime(1595563223); -- 2020-07-24 12:00:23
select from_unixtime(1595520000); -- 2020-07-24 00:00:00
select from_unixtime(1595563325); -- 2020-07-24 12:02:05
select from_unixtime(1595563325, '%Y %D %M %h:%i:%s %x'); -- 2020 24th July 12:02:05 2020

3.MySQL 日期时间计算函数

3.1 为日期增加一个时间间隔:date_add()

set @dt = now();select date_add(@dt, interval 1 day); -- add 1 day
select date_add(@dt, interval 1 hour); -- add 1 hour
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 date_add(@dt, interval -1 day); -- sub 1 day

MySQL adddate(), addtime()函数,可以用 date_add() 来替代。下面是 date_add() 实现 addtime() 功能示例:

mysql> set @dt = '2020-07-24 12:02:05';
mysql> select date_add(@dt, interval '01:15:30' hour_second);
+------------------------------------------------+
| date_add(@dt, interval '01:15:30' hour_second) |
+------------------------------------------------+
| 2020-07-24 13:17:35                            |
+------------------------------------------------+
mysql> select date_add(@dt, interval '1 01:15:30' day_second);
+-------------------------------------------------+
| date_add(@dt, interval '1 01:15:30' day_second) |
+-------------------------------------------------+
| 2020-07-25 13:17:35                             |
+-------------------------------------------------+

3.2 为日期减去一个时间间隔:date_sub()

MySQL date_sub() 日期时间函数 和 date_add() 用法一致,不再赘述。

mysql> select date_sub('2020-07-24 12:02:05', interval '1 1:1:1' day_second);
+----------------------------------------------------------------+
| date_sub('2020-07-24 12:02:05', interval '1 1:1:1' day_second) |
+----------------------------------------------------------------+
| 2020-07-23 11:01:04                                            |
+----------------------------------------------------------------+

3.3 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2)

MySQL datediff(date1,date2):两个日期相减 date1 - date2,返回天数。

mysql> select datediff('2020-07-08', '2020-07-01'); -- 7
mysql> select datediff('2020-07-01', '2020-07-08'); -- -7

MySQL timediff(time1,time2):两个日期相减 time1 - time2,返回 time 差值。

mysql> select timediff('2020-07-24 13:17:35', '2020-07-24 00:00:00'); -- 13:17:35
mysql> select timediff('13:17:35', '00:00:00'); -- 13:17:35

注意:timediff(time1,time2) 函数的两个参数类型必须相同。

3.4 时间戳(timestamp)转换、增、减函数:

timestamp(date) – date to timestamp
timestamp(dt,time) – dt + time
timestampadd(unit,interval,datetime_expr)
timestampdiff(unit,datetime_expr1,datetime_expr2)
请看示例部分:

-- 转换
select timestamp('2020-07-24'); -- 2020-07-24 00:00:00
select timestamp('2020-07-24 13:17:35', '01:01:01'); -- 2020-07-24 14:18:36
select timestamp('2020-07-24 13:17:35', '10 01:01:01'); -- 2020-08-03 14:18:36
-- 增
select timestampadd(day, 1, '2020-07-24 13:17:35'); -- 2020-07-25 13:17:35
select date_add('2020-07-24 13:17:35', interval 1 day); -- 2020-07-25 13:17:35
MySQL timestampadd() 函数类似于 date_add()。
-- 减
select timestampdiff(year,'2020-07-24','2018-01-01'); -- -2
select timestampdiff(day ,'2020-07-24','2018-01-01'); -- -935
select timestampdiff(hour,'2020-07-24 12:00:00','2020-07-24 00:00:00'); -- -12
select datediff('2020-07-24 12:00:00', '2020-07-20 00:00:00'); -- 4
MySQL timestampdiff() 函数就比 datediff() 功能强多了,datediff() 只能计算两个日期(date)之间相差的天数。

4.MySQL 时区(timezone)转换函数:convert_tz(dt,from_tz,to_tz)

select convert_tz('2020-07-24 12:00:00', '+08:00', '+00:00'); -- 2020-07-24 04:00:00时区转换也可以通过 date_add, date_sub, timestampadd 来实现。
select date_add('2020-07-24 12:00:00', interval -8 hour); -- 2020-07-24 04:00:00
select date_sub('2020-07-24 12:00:00', interval 8 hour); -- 2020-07-24 04:00:00
select timestampadd(hour, -8, '2020-07-24 12:00:00'); -- 2020-07-24 04:00:00

MySQL获取当前日期、时间、时间戳函数相关推荐

  1. MySQL sql语句获取当前日期|时间|时间戳

    文章转载于:博客园--水狼一族 文章地址:<MySQL sql语句获取当前日期|时间|时间戳> 一.基础时间函数 1.1 获得当前日期+时间(date + time)函数:now() My ...

  2. mysql 时间 sql_MySQL sql语句获取当前日期|时间|时间戳

    1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------+ | now() | +-------+ | 2013-04-0 ...

  3. MySQL通过sql语句获取当前日期|时间|时间戳

    原帖地址:http://hi.baidu.com/zwy654350304/item/7b3a2615d1083f643e87ce29 1.1 获得当前日期+时间(date + time)函数:now ...

  4. 微信小程序 - 获取当前日期时间(函数封装)

    效果图 前言 摘自微信小程序 demo 程序中 utils.js 方法. 普通 new Date() 出来的日期时间,并不是我们想要的格式,所以要进行格式整理. 解决方案 打开 utils.js 文件 ...

  5. MYSQL 获取当前日期及日期格式,和常用时间转换函数

    经过多次尝试本人的目标完成: select newworkorder.WorkOrderNum,newworkorder.ProjectCode, newworkorder.WorkEstComDat ...

  6. MySQL 获得当前日期时间 函数

    MYSQL 获取当前日期及日期格式 获取系统日期: NOW() 格式化日期: DATE_FORMAT(date, format) 注: date:时间字段 format:日期格式 返回系统日期,输出 ...

  7. mysql中获取时间的年月日_详解mysql 获取当前日期及格式化

    MySQL 获取当前日期及日期格式 获取系统日期: NOW() 格式化日期: DATE_FORMAT(date, format) 注: date:时间字段 format:日期格式 返回系统日期,输出 ...

  8. mysql 获取当前日期,前一天,后一天方法及时间格式化 wordpress 后台头部添加气泡通知

    wordpress 应用:wordpress 后台头部添加气泡通知 /*Add a link called 'My Link'... --------------------------------- ...

  9. MySQL 获取系统时间/系统日期/日期时间的函数

    文章目录 一.获取当前系统日期和时间 (一)now(),返回当前的系统日期和时间 (二)sysdate(),返回当前的系统日期和时间 (三)current_timestamp(),返回当前的系统日期和 ...

最新文章

  1. 密码技术--国密SM4分组密码算法及Go语言应用
  2. 中用BBP公式计算_散户如何计算庄家的持仓量和持仓成本?
  3. 经典C语言程序100例之六
  4. python代码风格_Python编码风格,看这篇就够了
  5. postgresql定义访问ip与用户_PostgreSQL 设置允许访问IP的操作
  6. python访问网站添加请求头_Python headers请求头如何实现快速添加
  7. 【AI视野·今日NLP 自然语言处理论文速览 第四期】Wed, 9 Jun 2021
  8. Dubbo(三) 消费者、提供者工程搭建并实现远程调用
  9. 阿里云构建千万级别架构演变之路
  10. IComparable和Icomparer接口
  11. windows加密和linux加密_Windows系统自带的BitLocker加密方法
  12. 实现Mybatis接口模式下的数据库调用分离
  13. 蓝桥杯2015年第六届C/C++省赛B组第二题-星系炸弹
  14. Kotlin 输出“Hello World”
  15. 一个可能是世界上最全的 API 接口集合库开源项目
  16. 生成随机 简体汉字 繁体汉字
  17. 任务栏图标变成白色怎么办
  18. Virtual-Taobao: Virtualizing Real-World Online Retail Environment for Reinforcement Learning
  19. r5 5500u和r5 4600u区别有多大 r55500u和r54600u哪个好
  20. 《地球帝国2》中文版秘籍

热门文章

  1. windowns下生成目录结构树形图
  2. 片选,怎么看时序图,电路原理图。CE OE WE信号 纳秒
  3. Unknown Intel PCH (0x7110) detected
  4. 基于MaxCompute的媒体大数据开放平台建设
  5. PyEcharts 基本图表之漏斗图
  6. android平板游戏,两款平板电脑Android游戏推荐
  7. 如何在php中定义按钮,ppt中怎么插入自定义动作按钮
  8. 2.2.2 矩阵(matrix())
  9. 我说CMMI2.0 之过程资产开发(PAD)
  10. 字符流、转换流、对象操作流、Properties