目录
[1、TIME_FORMAT() 按照指定的格式格式化时间。](#1、TIME_FORMAT() 按照指定的格式格式化时间。)
[2、TIME_TO_SEC() 将指定的时间值转为秒数。](#2、TIME_TO_SEC() 将指定的时间值转为秒数。)
[3、TIMEDIFF() 返回两个时间之间的差值。](#3、TIMEDIFF() 返回两个时间之间的差值。)
[4、TIMESTAMP() 累加所有参数并将结果作为日期时间值返回。](#4、TIMESTAMP() 累加所有参数并将结果作为日期时间值返回。)
[5、TIMESTAMPADD() 将指定的时间间隔加到一个日期时间值上并返回结果。](#5、TIMESTAMPADD() 将指定的时间间隔加到一个日期时间值上并返回结果。)
[6、TIMESTAMPDIFF() 返回两个日期时间之间的时间间隔。](#6、TIMESTAMPDIFF() 返回两个日期时间之间的时间间隔。)
[7、UNIX_TIMESTAMP() 将指定的日期/日期时间转为距离 UTC 时间 1970-01-01 00:00:00 的秒数。](#7、UNIX_TIMESTAMP() 将指定的日期/日期时间转为距离 UTC 时间 1970-01-01 00:00:00 的秒数。)
[8、TO_DAYS() 将指定日期转为距离 0 年的天数并返回。](#8、TO_DAYS() 将指定日期转为距离 0 年的天数并返回。)
[9、TO_SECONDS() 将指定的日期/日期时间转为距离 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) |
%% |
转义 % |
sql
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() 将指定的时间值转为秒数。
sql
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。
sql
SELECT
TIMEDIFF('12:12:12', '12:10:10'),
TIMEDIFF('12:12:12', '10:10:10');

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

sql
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。
sql
SELECT TIMESTAMP('2024-02-28');

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

sql
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 值或表达式。
sql
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 值或表达式。
sql
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 的秒数。
sql
SELECT
UNIX_TIMESTAMP('2024-10-10'),
UNIX_TIMESTAMP(NOW());

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

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