【发布时间】:2013-08-19 13:35:04
【问题描述】:
我的客户用如下日期字符串证明我
Tue Nov 30 00:00:00 GMT+0400 1965
请问我怎样才能将这种格式插入到 postgresql 日期列中,或者我将不得不这样做并使用子字符串来编译一个字符串
Nov 30 1965
请有人帮助我时间很紧。
提前致谢。
【问题讨论】:
标签: php postgresql-9.2
我的客户用如下日期字符串证明我
Tue Nov 30 00:00:00 GMT+0400 1965
请问我怎样才能将这种格式插入到 postgresql 日期列中,或者我将不得不这样做并使用子字符串来编译一个字符串
Nov 30 1965
请有人帮助我时间很紧。
提前致谢。
【问题讨论】:
标签: php postgresql-9.2
如果您的日期中没有时间戳,这对您来说是可能的:
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
【讨论】:
我是这样管理的
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;
}
这似乎是最好的方法,无论如何谢谢
【讨论】: