构造具有特定格式的日期时间

时间:2012-11-16 16:49:43

标签: php

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

我该如何解决这个问题?

2 个答案:

答案 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

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