0

我的客户用如下日期字符串证明我

Tue Nov 30 00:00:00 GMT+0400 1965

请问我如何将这种格式插入到postgresql日期列中,或者我必须用艰难的方式来做它并使用子字符串来编译一个字符串

Nov 30 1965

请有人可以帮助我的时间非常困难。

提前致谢。

4

2 回答 2

0

如果您的日期中没有时间戳,您可能会这样做:

select to_timestamp('Tue Nov 30 00:00:00 1965', 'DY Mon DD HH24:MI:SS YYYY')

所以我认为你必须从你的字符串中创建一个新的:

select
    to_timestamp(substring(dt from 0 for 20) || substring(dt from 29), 'DY Mon DD HH24:MI:SS YYYY')
from (select 'Tue Nov 30 00:00:00 GMT+0400 1965'::text as dt) as a

sql 小提琴演示

于 2013-08-19T14:44:46.270 回答
0

我是这样管理的

function dateStringToDb($dateString){
    if($dateString != NULL){
        $dateString = substr($dateString,4,6)." ".substr($dateString,sizeof($dateString)-5,4);
        return new Zend_Db_Expr("to_date('".$dateString."', 'Mon DD YYYY')");
    }
    return NULL;
}

这似乎是最好的方法,无论如何谢谢

于 2013-08-19T15:30:30.617 回答