PHP上的错误日期时间
你好,我需要帮助。mi代码错误,抱歉我的英语不好 错误:PHP上的错误日期时间,php,datetime,format,str-replace,Php,Datetime,Format,Str Replace,你好,我需要帮助。mi代码错误,抱歉我的英语不好 错误:致命错误:在第11行的C:\xampp\htdocs\aplicacion\application\views\guest\container.php中调用布尔值上的成员函数format() mycontainer.php 我的目的是得到博客的创建日期。被添加到我的网站的url。还有这个职位的名字 <?php foreach ($consulta->result() as $fila)
致命错误:在第11行的C:\xampp\htdocs\aplicacion\application\views\guest\container.php中调用布尔值上的成员函数format()
mycontainer.php
我的目的是得到博客的创建日期。被添加到我的网站的url。还有这个职位的名字
<?php
foreach ($consulta->result() as $fila) {
?>
<div class="post-preview">
<?php
$date = DateTime::createFromFormat('YYYY-MM-DD', $fila->fecha);
$year = $date->format('Y',$date);
$name = str_replace('','_', $fila->post);
?>
<a href="<?php echo base_url()?>article/post/<?php echo $year ?>/<?php echo $name ?>">
php-MODEL
public function getPostByYearAndName($year = '', $name = '')
{
$result = $this->db->query("SELECT * FROM post WHERE year(fecha) = '$year' AND post LIKE '$name'");
return $result->row();
}
您的代码可以工作:
$date = DateTime::createFromFormat('y-m-d', '17-03-12');
echo $date->format('Y');
->
如果$date
为false
,则表示您的输入$fila->fecha
的格式不是YY-MM-DD
例如,如果您的日期格式为YYYY-MM-DD
,则必须使用“Y-m-d”
更新:
仅举例说明,如果输入是日期,但不是指定格式,例如:
$date = DateTime::createFromFormat('y-m-d', '2017-03-12');
echo $date->format('Y');
它复制了OPs错误:
PHP Fatal error: Uncaught Error: Call to a member function format() on boolean in ~/tmp/date.php:5
因此,$fila->fecha
为空,不是日期,也不是格式为YY-MM-DD
1的日期。你收到了错误。2.读取错误。3.解释错误。4.搜索whycreateFromFormat()
返回布尔值。5.哦,我发现$fila->fecha
是一个错误的值,没关系,谢谢大家!$fila->fecha
的内容是什么?$fila是日期。在数据库表上。费卡。是表中的一个内容。是的,代码确实有效,我一眼就知道了。也许你应该更加强调,$fila->fecha
是一个布尔值。我不认为$fila->fecha
,我认为这是一个比YY-MM-DD
格式不同的日期。如果日期不是createFromFormat
中指定的格式,$date
将是false
,请更加强调这一点。
$date = DateTime::createFromFormat('y-m-d', '2017-03-12');
echo $date->format('Y');
PHP Fatal error: Uncaught Error: Call to a member function format() on boolean in ~/tmp/date.php:5