前言
在实际业务开发过程中,通常会遇到对时间日期相关的处理,这里列出一些常见的时间日期处理方法。
1. 时间戳带时区和不带时区
创建表字段时,指定带时区时间日期数据类型
postgres=# CREATE TABLE tab_test(id serial,app_name varchar,app_release_date timestamp with time zone default now());
CREATE TABLE
postgres=# INSERT INTO tab_test VALUES(1,'app');
INSERT 0 1
postgres=# select * from tab_test;
id | app_name | app_release_date
----+----------+-------------------------------
1 | app | 2021-10-11 15:24:05.730805+08
(1 row)
修改表字段为不带时区的数据类型
postgres=# alter table tab_test alter column app_release_date set data type timestamp without time zone;
ALTER TABLE
postgres=# alter table tab_test alter column app_release_date set default now();
ALTER TABLE
postgres=# insert into tab_test values(2,'app2');
INSERT 0 1
postgres=# select * from tab_test;
id | app_name | app_release_date
----+----------+----------------------------
1 | app | 2021-10-11 15:24:05.730805
2 | app2 | 2021-10-11 15:29:03.749597
(2 rows)
2.时间日期函数转换为带时区和不带时区的操作
返回当前时间戳的函数