PostgreSQL基础与高级构建模块详解
1. 日期和时间类型
日期和时间数据类型常用于描述事件的发生,如出生日期。PostgreSQL支持以下日期和时间类型:
| 名称 | 存储大小 | 描述 | 最小值 | 最大值 |
| — | — | — | — | — |
| Timestamp without time zone | 8 字节 | 无时区的日期和时间,等同于 timestamp | 公元前 4713 年 | 公元 294276 年 |
| Timestamp with time zone | 8 字节 | 有时区的日期和时间,等同于 timestamptz | 公元前 4713 年 | 公元 294276 年 |
| Date | 4 字节 | 仅日期 | 公元前 4713 年 | 公元 5874897 年 |
| Time without time zone | 8 字节 | 一天中的时间 | 00:00:00 | 24:00:00 |
| Time with time zone | 12 字节 | 有时区的一天中的时间 | 00:00:00+1459 | 24:00:00-1459 |
| interval [ fields ] | 16 字节 | 时间间隔 | -178000000 年 | 178000000 年 |
PostgreSQL 以通用协调时间(UTC)格式存储带有时区和不带时区的时间戳,仅存储不带时区的时间。这解释了带有时区和不带时区的时间戳存储大小相同的原因。
1.1 处理时间戳的方法
有两种正确处理时间戳的方法:
-