Php 计算一次又一次的时间-mysql datetime格式

Php 计算一次又一次的时间-mysql datetime格式,php,datetime,Php,Datetime,我们有一个MySQL日期时间格式的时间,比如: $time = date("Y-m-d H:i:s"); $period = "+1 month"; 现在我们要计算这个时间之后的“N天”,问题是我要新计算的时间也是MySQL-datetime格式,所以我创建了这个函数: // From a date to period date based on date function fromTime($time, $period){ $date = DateTime::createFromFo

我们有一个MySQL日期时间格式的时间,比如:

$time = date("Y-m-d H:i:s");
$period = "+1 month";
现在我们要计算这个时间之后的“N天”,问题是我要新计算的时间也是MySQL-datetime格式,所以我创建了这个函数:

// From a date to period date based on date
function fromTime($time, $period){
    $date = DateTime::createFromFormat( 'Y-m-d H:i:s', $time);
    $date->modify($period);
    return $date->format('Y-m-d H:i:s');
}
它在本地主机上运行良好,因为我使用的是PHP>5.3,但在我的真实服务器上,它不起作用,我遇到以下错误:

Fatal error: Call to undefined method DateTime::createFromFormat() in /home/blah/public_html/includes/functions.php on line 38
第38行是
fromTime
函数

如何更改此函数,使其在PHP<5.3


更新:OP正在寻找精确地在<5.2中工作的解决方案。

您可以使用较旧的内置日期操作函数,如
strotime()


我认为除了
DateTime::createFromFormat
之外,5.2版的所有内容都是有效的。日期格式没有任何不标准之处。我建议删除该行并实例化
dateTime
对象,如下所示:

$date = new DateTime($time);
您需要什么PHP版本才能与之兼容5.2?

请试一试

$d = new DateTime( date("Y-m-d H:i:s") );
$d->modify( 'next month' );
echo $d->format( 'Y-m-d H:i:s' ), "\n";

是的,需要与PHP5.2井兼容,说明你应该考虑更新。仅供参考,我更新了问题以反映您的目标版本。@fi我在共享主机上,对此我无能为力:-)无法工作
注意:在第11行的E:\wamp\www\blah\html\epay\back\test.php中遇到格式不正确的数值
$d = new DateTime( date("Y-m-d H:i:s") );
$d->modify( 'next month' );
echo $d->format( 'Y-m-d H:i:s' ), "\n";