-1

我有一个来自我的数据库的日期字符串,日期是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).

我怎样才能解决这个问题?

4

2 回答 2

2

尝试

 $date = DateTime::CreateFromFormat("d-m-y", "16-11-2010");
于 2012-11-16T16:51:52.557 回答
0

不幸的是,这不是 DateTime 类构造函数支持的时间格式之一。

此页面显示有效格式

http://www.php.net/manual/en/datetime.formats.date.php

您应该在数据库中使用实际的符合 SQL 的日期字段(通常为 YYYY-MM-DD)。或者,如果您无法更改存储日期的方式,请DateTime::CreateFromFormat按照其他答案中的建议使用。

我强烈建议使用更标准的存储格式。

于 2012-11-16T16:55:56.633 回答