【问题标题】:PHP's strtotime and PostgreSQL's EXTRACT(EPOCH FROM ... generate different outputPHP strtotime 和 PostgreSQL EXTRACT(EPOCH FROM ... 生成不同的输出
【发布时间】:2016-03-13 17:47:41
【问题描述】:

我将我的数据库中存在的数据发送到这个第三方系统。只有当我使用 PHP 的 strtotime * 1000 时,它才会正确导入日期:

$data = strtotime('2015-12-08 15:12:16') * 1000; // output: 1449594736000

我只想使用我的 PostgreSQL 数据库生成所有数据,而不使用 PHP。于是我试了一下:

SELECT EXTRACT(EPOCH FROM '2015-12-08 15:12:16'::DATE) * 1000; -- output: 1449532800000

使用这种PostgreSQL方式,第三方系统导入日期错误。

如何使用我的 PostgreSQL 数据库生成由 PHP 生成的相同输出?

造成这种差异的原因是什么?

【问题讨论】:

    标签: php postgresql import export thrift


    【解决方案1】:

    看来您需要将数据转换为 UTC +2 中的时间戳

    # SELECT EXTRACT(EPOCH FROM '2015-12-08 15:12:16'::timestamp without time zone + interval '2 hour')*1000;
       ?column?    
    ---------------
     1449594736000
    (1 row)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-04
      • 1970-01-01
      • 2021-08-17
      相关资源
      最近更新 更多