我有一个来自我的数据库的日期字符串,日期为16/11/2010
,其格式为d/m/Y
,我想像这样修改它。
<?php
$date_from_db= '16/11/2010'; // format is d/m/Y
$date = new DateTime($date_from_db);
$date-> modify('+1 week');
echo $date-> format('d/m/Y') ;
?>
我有这个错误
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (16/11/2012) at position 0 (1).
我该如何解决这个问题?
答案 0 :(得分:2)
试
$date = DateTime::CreateFromFormat("d-m-y", "16-11-2010");
答案 1 :(得分:0)
不幸的是,这不是DateTime类构造函数支持的时间格式之一。
此页面显示有效格式
http://www.php.net/manual/en/datetime.formats.date.php
您应该在数据库中使用实际的SQL兼容日期字段(通常为YYYY-MM-DD)。或者,如果您无法更改存储日期的方式,请按照其他答案中的建议使用DateTime::CreateFromFormat
。
我强烈建议使用更标准的存储格式。