MariaDB UNIX_TIMESTAMP() 函数的基础用法与实例
MariaDB UNIX_TIMESTAMP()
函数用来获取指定日期的 Unix 时间戳值,也就是从 1970 年 1 月 1 日 00:00:00 UTC 到指定日期时间的秒数。
MariaDB UNIX_TIMESTAMP()
函数用来获取指定日期的 Unix 时间戳值,也就是从 1970 年 1 月 1 日 00:00:00 UTC 到指定日期时间的秒数。如果不指定日期,则返回当前的 Unix 时间戳。该函数常用于日期和时间的计算、存储和比较。
语法
MairaDB UNIX_TIMESTAMP()
函数的语法如下:
UNIX_TIMESTAMP([date])
date
:可选参数,是一个DATETIME
或TIMESTAMP
类型的日期时间值。如果未提供该参数,则返回当前时间的 Unix 时间戳。- 返回值:返回一个无符号的 64 位整数,表示自 1970 年 1 月 1 日 00:00:00 UTC 到指定日期时间所经过的秒数。如果
date
为无效值或不合法的日期字符串,则返回NULL
。
实例
获取当前时间的 Unix 时间戳
这个实例演示如何获取当前时间的 Unix 时间戳。
SELECT UNIX_TIMESTAMP();
以下是该语句的输出:
+------------------+
| UNIX_TIMESTAMP() |
+------------------+
| 1711346630 |
+------------------+
输出值表示从 1970 年 1 月 1 日 00:00:00 UTC 到当前时间所经过的秒数。
获取指定日期时间的 Unix 时间戳
这个实例演示如何获取指定日期时间的 Unix 时间戳。
SELECT UNIX_TIMESTAMP('2023-03-15 10:30:00');
以下是该语句的输出:
+---------------------------------------+
| UNIX_TIMESTAMP('2023-03-15 10:30:00') |
+---------------------------------------+
| 1678847400 |
+---------------------------------------+
输出值 1678847400
表示从 1970 年 1 月 1 日 00:00:00 UTC 到 2023 年 3 月 15 日 10:30:00 所经过的秒数。
将 Unix 时间戳转换为日期时间
这个实例演示如何将 Unix 时间戳转换为日期时间。
SELECT FROM_UNIXTIME(1678847400);
以下是该语句的输出:
+---------------------------+
| FROM_UNIXTIME(1678847400) |
+---------------------------+
| 2023-03-15 10:30:00 |
+---------------------------+
FROM_UNIXTIME()
函数将 Unix 时间戳 1678847400
转换为对应的日期时间值。
从表中获取日期时间的 Unix 时间戳
这个实例演示如何从表中获取日期时间的 Unix 时间戳。
DROP TABLE IF EXISTS my_table;
CREATE TABLE my_table (dt DATETIME);
INSERT INTO my_table VALUES ('2023-03-15 10:30:00'), ('2023-03-16 12:00:00');
SELECT dt, UNIX_TIMESTAMP(dt) FROM my_table;
以下是该语句的输出:
+---------------------+--------------------+
| dt | UNIX_TIMESTAMP(dt) |
+---------------------+--------------------+
| 2023-03-15 10:30:00 | 1678847400 |
| 2023-03-16 12:00:00 | 1678939200 |
+---------------------+--------------------+
在这个例子中,我们首先创建了一个包含 DATETIME
列的表,并插入了两行数据。然后,我们使用 UNIX_TIMESTAMP(dt)
从表中获取每个日期时间的 Unix 时间戳值。
计算两个日期时间之间的秒数
这个实例演示如何使用 UNIX_TIMESTAMP()
函数计算两个日期时间之间的秒数。
SELECT UNIX_TIMESTAMP('2023-03-16 12:00:00') - UNIX_TIMESTAMP('2023-03-15 10:30:00');
以下是该语句的输出:
+-------------------------------------------------------------------------------+
| UNIX_TIMESTAMP('2023-03-16 12:00:00') - UNIX_TIMESTAMP('2023-03-15 10:30:00') |
+-------------------------------------------------------------------------------+
| 91800 |
+-------------------------------------------------------------------------------+
这个结果表示 2023 年 3 月 16 日 12:00:00 和 2023 年 3 月 15 日 10:30:00 之间相差 91800。
相关函数
以下是几个与 MairaDB UNIX_TIMESTAMP()
相关的几个函数:
- MariaDB
FROM_UNIXTIME()
函数用来将 Unix 时间戳转换为日期时间。 - MariaDB
TIMESTAMPDIFF()
函数用来计算两个日期时间之间的时间差。 - MariaDB
DATE_FORMAT()
函数用来格式化日期和时间。 - MariaDB
CURDATE()
函数用来获取当前日期。 - MariaDB
CURTIME()
函数用来获取当前时间。
结论
MariaDB UNIX_TIMESTAMP()
函数是一个非常实用的函数,它可以方便地获取指定日期时间的 Unix 时间戳值,或者将 Unix 时间戳转换为日期时间。本文介绍了 UNIX_TIMESTAMP()
函数的语法、用法和一些实例,以及一些相关的函数。通过本文,您应该对如何使用 UNIX_TIMESTAMP()
函数有了更好的理解。