我从MySQL检索datetime数据检索的数据从一个单行。PHP日期时间不能正常工作
2011-04-11 19:31:30
我想重新设置日期时间在d-m-Y H:i:s
对我使用date_format()
下面的代码工作得很好。
$date = new DateTime($users['registerDate']);
echo $date->format('d-m-Y H:i:s');
不过,我不想去面向对象的方式只是为了重新格式化,因为我将使用foreach循环内的代码,这意味着我将不得不一次又一次地初始化DateTime类。
我试着用下面这段代码做程序的方式。
$date = $users['registerDate'];
echo date_format($date, 'Y-m-d H:i:s');
上面的代码不适合我,并给出以下错误。
警告:DATE_FORMAT()预计参数1到上线在给定/Applications/MAMP/htdocs/kokaris/administrator/resources/library/models/users/users.php日期时间,串21
什么可能是错误的?
给出的解决方案适用于程序的方式完美的罚款。
echo date('m-d-Y',strtotime($users['registerDate']));
不过,我想知道,这将是最好的可行的解决方案上面的程序方式或面向对象的方式。
$date = new DateTime($users['registerDate']);
echo $date->format('d-m-Y H:i:s');
考虑到我将使用foreach循环内的代码,它可能会循环超过一百次。
的第一个参数'DATE_FORMAT()'必须DateTime'的'一个实例。你正在向它传递一个字符串 – Phil 2011-04-13 05:39:40
在PHP中,实例化一个对象并不是一个非常昂贵的操作,至少与你一直都在做的其他事情没有什么不同。纯粹出于性能考虑而选择面向对象的程序代码在诸如PHP之类的语言中很愚蠢。 – tdammers 2011-04-13 05:58:58
@tdammers你确定在给定的条件下使用OOP方式可以吗?例如,如果我必须检索100条记录,考虑到它将初始化类100次,对于这样的条件,仅仅使用过程函数()是不好的? – 2011-04-13 06:06:41