日期/时间函数

日期和时间函数进行日期和时间数据类型的转换、提取或处理操作,可以返回日期和时间信息。

使用

TIMETIMESTAMP 输入函数有两种变体:

  • TIME WITH TIME ZONE 或者 TIMESTAMP WITH TIME ZONE

  • TIME WITHOUT TIME ZONE 或者 TIMESTAMP WITHOUT TIME ZONE

简洁起见,这些变体不单独显示。

  • 和 * 运算符以交换对的形式出现,例如,DATE + INTEGERINTEGER + DATE。每个交换对仅显示其中一个运算符。

夏令时注意事项

INTERVAL 值添加到(或从中扣除 INTERVAL 值)TIMESTAMP WITH TIME ZONE 值时,白天组件按指定天数增加(或递减)TIMESTAMP WITH TIME ZONE 的日期。在多次夏令时更改(会话时区设置为识别 DST 的时区)中,这意味着 INTERVAL '1 day' 不一定等于 INTERVAL '24 hours'

例如,会话时区设置为 CST7CDT 时:

TIMESTAMP WITH TIME ZONE '2014-04-02 12:00-07' + INTERVAL '1 day'

会生成

TIMESTAMP WITH TIME ZONE '2014-04-03 12:00-06'

INTERVAL '24 hours' 添加到相同的开头字母 TIMESTAMP WITH TIME ZONE 会生成

TIMESTAMP WITH TIME ZONE '2014-04-03 13:00-06',

出现此结果是因为在时区 2014-04-03 02:00CST7CDT 的夏令时发生了变化。

事务中的日期/时间函数

某些日期/时间函数(例如 CURRENT_TIMESTAMPNOW)会返回当前事务的开始时间;在该事务的时间段内,这些函数会返回相同的值。其他日期/时间函数(例如 TIMEOFDAY)总是返回当前时间。

另请参阅

用于日期/时间格式化的模板模式