UNIX_TIMESTAMP()¶
函数说明¶
UNIX_TIMESTAMP() 返回自 1970-01-01 00:00:00 UTC 至当前时间的秒数。
UNIX_TIMESTAMP(date) 将参数的值返回为 1970-01-01 00:00:00 UTC 至 date 指定时间的秒数。
如果日期超出范围传递给 UNIX_TIMESTAMP(),它将返回 0。如果 date 为 NULL,则返回 NULL。
如果没有给出参数或参数不包含小数秒部分,则返回值为整数;如果给出参数包含小数秒部分,则返回值为 DECIMAL。
函数语法¶
> UNIX_TIMESTAMP([date])
参数释义¶
参数 |
说明 |
|---|---|
date |
可选参数。date 参数是合法的日期表达式。 |
非 UTC 时区的值和 Unix 时间戳值之间的转换¶
如果使用 UNIX_TIMESTAMP() 和 FROM_UNIXTIME() 在非 UTC(Coordinated Universal Time,协调世界时)时区的值和 Unix 时间戳值之间进行转换,则转换是有损的,因为映射在两个方向上不是一对一的。例如,由于诸如夏令时 (DST) 等本地时区更改的约定,UNIX_TIMESTAMP() 可以将在非 UTC 时区中不同的两个值映射到相同的 Unix 时间戳值。FROM_UNIXTIME() 将该值仅映射回原始值之一。下面的示例,即,使用在 MET 时区不同的值:
mysql> SET time_zone = 'MET';
Query OK, 0 rows affected (0.01 sec)
mysql> SELECT UNIX_TIMESTAMP('2005-03-27 03:00:00');
+-------------------------------------+
| unix_timestamp(2005-03-27 03:00:00) |
+-------------------------------------+
| 1111885200 |
+-------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT UNIX_TIMESTAMP('2005-03-27 02:00:00');
+-------------------------------------+
| unix_timestamp(2005-03-27 02:00:00) |
+-------------------------------------+
| 1111885200 |
+-------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT FROM_UNIXTIME(1111885200);
+---------------------------+
| from_unixtime(1111885200) |
+---------------------------+
| 2005-03-27 03:00:00 |
+---------------------------+
1 row in set (0.00 sec)
示例¶
mysql> SELECT UNIX_TIMESTAMP("2016-07-11");
+----------------------------+
| unix_timestamp(2016-07-11) |
+----------------------------+
| 1468188000 |
+----------------------------+
1 row in set (0.00 sec)
mysql> SELECT UNIX_TIMESTAMP('2015-11-13 10:20:19');
+-------------------------------------+
| unix_timestamp(2015-11-13 10:20:19) |
+-------------------------------------+
| 1447406419 |
+-------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT UNIX_TIMESTAMP('2015-11-13 10:20:19.012');
+-----------------------------------------+
| unix_timestamp(2015-11-13 10:20:19.012) |
+-----------------------------------------+
| 1447406419.012000 |
+-----------------------------------------+
1 row in set (0.00 sec)
限制¶
目前 date 格式只支持 yyyy-mm-dd 和 yyyymmdd 的数据格式。