我正在将值保存到Postgres10 interval
类型字段中。
返回字段时,我得到以下信息:3 years 10 mons 1 day 02:18:00
我似乎主要遇到的问题是,如果持续时间不长年数月,它也会返回1 day 02:18:00
。
是否有一种干净的方法将此值转换为PHP DateInterval对象?
我认为我可以使用正则表达式,但对我来说似乎有点混乱。
答案 0 :(得分:1)
如果使用
将间隔输出样式更改为iso_8601
SET intervalstyle = 'iso_8601';
您将获得正确格式的输出,例如调用DateInterval::__construct
SELECT
INTERVAL '6 years 5 months 4 days 3 hours 2 minutes 1 second';
输出:
interval
P6Y5M4DT3H2M1S