目录
1、TIME_FORMAT() 按照指定的格式格式化时间。
2、TIME_TO_SEC() 将指定的时间值转为秒数。
3、TIMEDIFF() 返回两个时间之间的差值。
4、TIMESTAMP() 累加所有参数并将结果作为日期时间值返回。
5、TIMESTAMPADD() 将指定的时间间隔加到一个日期时间值上并返回结果。
6、TIMESTAMPDIFF() 返回两个日期时间之间的时间间隔。
7、UNIX_TIMESTAMP() 将指定的日期/日期时间转为距离 UTC 时间 1970-01-01 00:00:00 的秒数。
8、TO_DAYS() 将指定日期转为距离 0 年的天数并返回。
9、TO_SECONDS() 将指定的日期/日期时间转为距离 0 年的秒数并返回结果。
| TIME_FORMAT | IME_TO_SEC | TIMEDIFF | TIMESTAMP |
| TIMESTAMPADD | TIMESTAMPDIFF | UNIX_TIMESTAMP | TO_DAYS、TO_SECONDS |
1、TIME_FORMAT() 按照指定的格式格式化时间。
TIME_FORMAT(time, format)
time:需要格式化的时间。
format:格式化模式字符串。
格式化符号:
| 占位符 | 说明 |
|---|---|
%f | 微秒 (000000..999999) |
%H | 小时 (00..23) |
%h | 小时 (01..12) |
%I | 小时 (01..12) |
%i | 分钟 (00..59) |
%k | 小时 (0..23) |
%l | 小时 (1..12) |
%p | AM 或者 PM |
%r | 十二小时制时间 (hh:mm:ss 后跟 AM 或 PM) |
%S | 秒 (00..59) |
%s | 秒 (00..59) |
%T | 二十四小时制时间 (hh:mm:ss) |
%% | 转义 % |
SELECT
TIME_FORMAT("19:30:10", "%H %i %s"),
TIME_FORMAT("19:30:10", "%h %i %s %p"),
TIME_FORMAT("19:30:10", "%r"),
TIME_FORMAT("19:30:10", "%T"),
TIME_FORMAT("19:30:10", "%H %i %s")

2、TIME_TO_SEC() 将指定的时间值转为秒数。
SELECT
TIME_TO_SEC('10:10:10') ,
TIME_TO_SEC('10:10') ,
TIME_TO_SEC('10');

3、TIMEDIFF() 返回两个时间之间的差值。
TIMEDIFF(time1, time2)
time1:一个时间或者日期时间表达式。
time2:另一个时间或者日期时间表达式。
返回一个
HH:MM:SS格式的时间值。如果指定的表达式不是一个合法的时间或者日期时间,
TIMEDIFF()函数将返回NULL。如果参数为
NULL,TIMEDIFF()函数将返回NULL。
SELECT
TIMEDIFF('12:12:12', '12:10:10'),
TIMEDIFF('12:12:12', '10:10:10');

SELECT TIMEDIFF('2024-02-28 12:12:12', '2024-02-21 10:10:10');

SELECT TIMEDIFF(NOW(), '2024-02-28 10:10:10');

4、TIMESTAMP() 累加所有参数并将结果作为日期时间值返回。
TIMESTAMP(date_or_datetime)
TIMESTAMP(date_or_datetime, time)
date_or_datetime:一个日期或者日期时间表达式。格式:YYYY-MM-DD或者YYYY-MM-DD HH:MM:SS
time:一个时间值。格式:HH:MM:SS。
SELECT TIMESTAMP('2024-02-28');

SELECT TIMESTAMP('2024-02-28', '10:10:10');

SELECT TIMESTAMP('2024-02-28 12:00:00', '12:00:00');

5、TIMESTAMPADD() 将指定的时间间隔加到一个日期时间值上并返回结果。
TIMESTAMPADD(unit, interval, datetime)
unit:时间间隔的单位,可用值有:MICROSECOND,SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER,YEAR.
interval:一个表示时间间隔的整数值。
datetime:一个 datetime 值或表达式。
SELECT
TIMESTAMPADD(WEEK, 1, '2024-02-28'),
TIMESTAMPADD(DAY, 7, '2024-02-28');

6、TIMESTAMPDIFF() 返回两个日期时间之间的时间间隔。
TIMESTAMPDIFF(unit, datetime1, datetime2)
unit:时间间隔的单位,可用值有:MICROSECOND,SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER,YEAR.
datetime1:一个 datetime 值或表达式。
datetime2:一个 datetime 值或表达式。
SELECT
TIMESTAMPDIFF(YEAR, '2024-12-28', '2024-02-28'),
TIMESTAMPDIFF(MONTH, '2024-02-28', '2023-02-28'),
TIMESTAMPDIFF(MONTH, '2023-02-28', '2024-02-28')

7、UNIX_TIMESTAMP() 将指定的日期/日期时间转为距离 UTC 时间 1970-01-01 00:00:00 的秒数。
SELECT
UNIX_TIMESTAMP('2024-10-10'),
UNIX_TIMESTAMP(NOW());

8、TO_DAYS() 将指定日期转为距离 0 年的天数并返回。
TO_DAYS() 函数与 FROM_DAYS()
函数是相反的。
SELECT
TO_DAYS('2024-02-28'),
TO_DAYS('2024-03-01');

9、TO_SECONDS() 将指定的日期/日期时间转为距离 0 年的秒数并返回结果。
SELECT
TO_SECONDS('2024-02-28'),
TO_SECONDS('2024-02-28 10:10:10');



















