PostgreSQL中查看当前时间和日期
CURRENT_TIMESTAMP
CURRENT_TIMESTAMP 返回当前的日期和时间,包含时间戳信息,包括时区信息。
1
|
SELECT CURRENT_TIMESTAMP;
|
输出:
1
2
3
4
5
|
white=# SELECT CURRENT_TIMESTAMP;
current_timestamp
------------------------------
2024-09-29 07:04:55.93786-07
(1 row)
|
NOW()
NOW() 函数与 CURRENT_TIMESTAMP 基本相同,返回当前的日期和时间,包含时间戳信息。
输出:
1
2
3
4
5
|
white=# SELECT NOW();
now
-------------------------------
2024-09-29 07:05:12.771343-07
(1 row)
|
CURRENT_DATE
CURRENT_DATE 返回当前的日期,不包含时间信息。
输出:
1
2
3
4
5
|
white=# SELECT CURRENT_DATE;
current_date
--------------
2024-09-29
(1 row)
|
CURRENT_TIME
CURRENT_TIME 返回当前的时间,不包含日期信息。
输出:
1
2
3
4
5
|
white=# SELECT CURRENT_TIME;
current_time
--------------------
07:06:07.099157-07
(1 row)
|
LOCALTIME 和 LOCALTIMESTAMP
- LOCALTIME: 返回当前的时间,不含时区信息。
- LOCALTIMESTAMP: 返回当前的日期和时间,不含时区信息。
1
|
SELECT LOCALTIME, LOCALTIMESTAMP;
|
输出:
1
2
3
4
5
|
white=# SELECT LOCALTIME, LOCALTIMESTAMP;
localtime | localtimestamp
-----------------+----------------------------
07:06:22.930981 | 2024-09-29 07:06:22.930981
(1 row)
|
查询组合
你可以将这些查询组合在一起,更全面地查看当前日期和时间信息:
1
2
3
4
5
6
7
|
SELECT
CURRENT_TIMESTAMP AS current_timestamp,
NOW() AS now,
CURRENT_DATE AS current_date,
CURRENT_TIME AS current_time,
LOCALTIME AS localtime,
LOCALTIMESTAMP AS localtimestamp;
|
输出:
1
2
3
4
5
6
7
8
9
10
11
|
white=# SELECT
white-# CURRENT_TIMESTAMP AS current_timestamp,
white-# NOW() AS now,
white-# CURRENT_DATE AS current_date,
white-# CURRENT_TIME AS current_time,
white-# LOCALTIME AS localtime,
white-# LOCALTIMESTAMP AS localtimestamp;
current_timestamp | now | current_date | current_time | localtime | localtimestamp
-------------------------------+-------------------------------+--------------+--------------------+-----------------+----------------------------
2024-09-29 07:06:52.609489-07 | 2024-09-29 07:06:52.609489-07 | 2024-09-29 | 07:06:52.609489-07 | 07:06:52.609489 | 2024-09-29 07:06:52.609489
(1 row)
|
总结
通过使用这些内置函数,你可以轻松获取 PostgreSQL 中当前的日期和时间信息。不同的函数返回不同粒度和格式的时间信息,如 CURRENT_TIMESTAMP 和 NOW() 返回完整的时间戳,包括时区信息,而 CURRENT_DATE 和 CURRENT_TIME 则分别只返回日期和时间部分。
|