升级到PHP 5.3后,我的应用程序正在返回时间戳类型为“2010-12-15-10.23.22.716000”的DB2列。 这是PHP日期时间函数引起问题,因为它不能与DB2时间戳PHP日期时间
$时间=新的datetime( “2010-12-15-10.23.22.716000”);
解析失败在位置25(0)的时间字符串(2010-12-15-10.23.22.716000):意外字符
似乎有与DB2时间戳太多的精度问题的。 我可以以某种方式强制连接更改时间戳格式,它正在将数据提取到?
我连接到数据库像这样db2_connect功能:
$这 - >连接= db2_connect($配置[ 'DSN'],$配置[ '用户名'],$配置['密码']);
编辑: 我想用以下提到的解决方案,但它不是为我工作,我的系统(AS400)运行很怪。 我有: $ timeRec = DateTime :: createFromFormat('Y-m-d-h.i.s.u',$ value);
$value = $timeRec->format('Y-m-d H:i:s');
$value = new DibiDateTime($value);
如果我做的var_dump后($值) - >格式,正确的字符串返回,但如果我尝试喂这个字符串DibiDateTime,具有:
public function __construct($time = 'now', DateTimeZone $timezone = NULL)
{
if ($timezone === NULL) {
parent::__construct($time);
}
}
那么它失败:
函数格式()非对象上
即使我检查befor e与var_dump($ timeRec)是适当的DateTime对象。
的PHP日期时间函数?如果你想让你的问题更具说话性,你应该添加这行代码。你如何访问数据库? – hakre