postgresql 将数字转换为日期和格式

标签 postgresql type-conversion to-date

我在 postgresql 中将我的日期字段设置为数字,日期中的值类似于 1401710352000,当我尝试使用 to_timestamp(date) 转换它时,我得到相应的时间戳为“46388-06-07 10:40: 00+00"

我试着用谷歌搜索它,我发现了关于如何在 postgresql 中进行不同类型转换的非常有用的函数,但我找不到如何将数字日期转换为适当的可读格式。如果有人能告诉我如何将数字日期字段转换为时间戳/日期可读格式,我将不胜感激

沙阿

最佳答案

来自fine manual :

to_timestamp(double precision)
timestamp with time zone
convert Unix epoch to time stamp

Unix 纪元以秒为单位,但看起来您的数值以毫秒为单位。如果我们修复单位,那么我们会得到看起来合理的东西:

=> select to_timestamp(1401710352000::numeric/1000);
      to_timestamp      
------------------------
 2014-06-02 04:59:12-07

因此,您可能只需要在调用 to_timestamp 之前将单位除以 1000 即可。

关于postgresql 将数字转换为日期和格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26198358/

相关文章:

java - 为什么 Java 泛型不允许对泛型类型进行类型转换?

Java、时间相关对象和oracle to_date函数

sql - 如何使用 to_date 函数转换复杂的 sysdate + 其他内容?

php - 获取PostgreSQL的RAISE NOTICE的所有通知

ruby-on-rails - 在 Rails 中使用 Postgres 枚举类型时,在迁移中指定 CREATE TYPE xyz_setting AS ENUM 会破坏您的 db/schema.rb 文件

java - org.postgresql.util.PSQLException : The column index is out of range: 3, 列数:2

javascript - .slice(0) 这里有什么意义?

windows - 在 Windows 上安装 PostgreSQL

Python 将 "5.4"但不是 "5.4.4"转换为 float ,这是怎么回事?

sql - 什么是儒略日期格式