PostgreSQL to_timestamp() 函数
PostgreSQL to_timestamp() 函数将 Unix 纪元时间转为一个标准的带时区信息的时间戳,或者根据给定的格式将指定的字符串转为时间戳。
to_timestamp() 语法
PostgreSQL to_timestamp () 函数有两种语法形式:
to_timestamp(unix_epoch DOUBLE) -> TIMESTAMP WITH TIME ZONE或者
to_timestamp(str TEXT, format TEXT) -> TIMESTAMP WITH TIME ZONE参数
unix_epoch必需的。 Unix 纪元时间(从 1970-01-01 00:00:00+0 开始的秒数)。
str必需的。 一个时间字符串。
format必需的。 转换这个时间字符串所采用的格式。您可以使用下表中的模板模式来构造格式字符串。模式描述
HH一天中的小时 (01–12)HH12一天中的小时 (01–12)HH24一天中的小时 (00–23)MI分钟 (00–59)SS秒 (00–59)MS毫秒 (000–999)US微秒(000000–999999)FF1十分之一秒 (0–9)FF2百分之一秒 (00–99)FF3毫秒 (000–999)FF4十分之一毫秒 (0000–9999)FF5百分之一毫秒 (00000–99999)FF6微秒(000000–999999)SSSS,SSSSS午夜过后几秒钟 (0–86399)AM,am,PM,pm上午、下午(无句点)A.M.,a.m.,P.M.,p.m.上午、下午(带句点)Y,YYY年份(4 位或更多位数字),带逗号YYYY年份(4 位或更多数字)YYY年份的最后 3 位数字YY年份的最后 2 位数字Y年份的最后一位数字IYYYISO 8601 周编号年份(4 位或更多位)IYYISO 8601 周编号年份的最后 3 位数字IYISO 8601 周编号年份的最后 2 位数字IISO 8601 周编号年份的最后一位数字BC,bc,AD,ad公元前、公元后(无句点)B.C.,b.c.,A.D.,a.d.公元前、公元后(带句点)MONTH全大写月份名称(空白填充为 9 个字符)Month全大写月份名称(空白填充为 9 个字符)month全小写月份名称(空白填充为 9 个字符)MON缩写大写月份名称(英文 3 个字符,本地化长度各不相同)Mon缩写大写月份名称(英文 3 个字符,本地化长度不同)mon缩写小写月份名称(英文 3 个字符,本地化长度不同)MM月数 (01–12)DAY全大写的日期名称(空白填充为 9 个字符)Day全大写的日期名称(空白填充为 9 个字符)day全小写的日期名称(空白填充为 9 个字符)DY缩写的大写的日期名称(3 个英文字符,本地化长度各不相同)Dy缩写的大写的日期名称(3 个英文字符,本地化长度各不相同)dy缩写的小写的日期名称(3 个英文字符,本地化长度各不相同)DDD一年中的一天 (001–366)IDDDISO 8601 周编号年份的一天(001–371;一年中的第 1 天是第一个 ISO 周的星期一)DD月中的某一天 (01–31)D星期几,星期日 (1) 到星期六 (7)IDISO 8601 星期几,星期一 (1) 到星期日 (7)W每月的一周 (1–5) (第一周从该月的第一天开始)WW一年中的周数 (1–53) (第一周从一年的第一天开始)IWISO 8601 周编号年份的周号(01–53;一年中的第一个星期四在第 1 周)CC世纪(2 位数字)(二十一世纪开始于 2001-01-01)J儒略历日期(自公元前 4714 年 11 月 24 日当地午夜以来的整数天)Q季度RM大写罗马数字形式的月份(I 到 XII; I 是 1 月)rm小写罗马数字形式的月份 (i 到 xii; i 是 1 月)TZ大写时区缩写(仅to_char支持)tz小写时区缩写(仅to_char支持)TZH时区小时TZM时区分钟OF时区与 UTC 的偏移量(仅to_char支持)
返回值
PostgreSQL to_timestamp() 函数返回一个带有时区信息的时间戳值,它从一个字符串根据指定的格式转换而来。
to_timestamp() 示例
转换 Unix 纪元时间
本示例展示了如何使用 PostgreSQL to_timestamp() 函数将一个 Unix 纪元时间转为一个标准的带时区信息的时间戳并返回。
SELECT to_timestamp(1652704873); to_timestamp
------------------------
2022-05-16 20:41:13+08转换时间字符串
本示例展示了如何使用 PostgreSQL to_timestamp() 函数根据指定的格式将一个指定的时间字符串转换为一个时间戳值。
示例 1
SELECT to_timestamp('2022-05-17', 'YYYY-MM-DD'); to_timestamp
------------------------
2022-05-17 00:00:00+08示例 2
SELECT to_timestamp('2022-05-17 10:10:10.022.000001', 'YYYY-MM-DD HH:MI:SS.MS.US'); to_timestamp
-------------------------------
2022-05-17 10:10:10.022001+08