![](/img/trans.png)
[英]How get DateTime Format on PHP: 2016-01-29T09:29:29.5033083+03:00
[英]ERROR: invalid input syntax for type timestamp with time zone: "09/03/1943 01:00:00 MWT"
我插入记录从table1.column1
到table2.colum2
。 这两列都是timestampz
类型。
不幸的是,一个值为“1943-09-03 01:00:00-06”的记录抛出以下错误:
错误:带时区的时间戳类型的输入语法无效:“09/03/1943 01:00:00 MWT”
我可以通过使用::TIMESTAMP
来解决这个问题。
谁能告诉我修复它的正确方法是什么,为什么它只发生在一个记录中?
编辑1:
这两个表都在不同的数据库上。 所以我从Table1.column1
选择值,然后在不同的数据库连接中分别插入到Table2.column2
中。 我猜,PHP 的核心 PostgreSQL 函数将值“1943-09-03 01:00:00-06”转换为字符串时间“09/03/1943 01:00:00 MWT”,并且在插入时这个字符串时间抛出错误。
我实际上是在尝试插入“09/03/1943 01:00:00 MWT”而不是“1943-09-03 01:00:00-06”。
使用::TIMESTAMP
将使用 DB 默认时间格式,格式取决于您的 DB 文化。
当您想将string
转换为DateTime
或时间戳时,我建议您明确指定字符串的datetime
格式
您可以尝试使用to_timestamp函数并将字符串设置为DateTime
格式。
查询 1 :
SELECT to_timestamp('09/03/1943 01:00:00 MWT', 'DD/MM/YYYY hh24:mi:ss')
结果:
| to_timestamp |
|----------------------|
| 1943-03-09T01:00:00Z |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.