PHP:替换DateTime对象

时间:2011-01-21 21:35:44

标签: php datetime

我选择托管的服务器是在PHP5.12.14上,当我从PHP5.3运行DateTime对象时出现错误

# DateTime::add — Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object
$date = new DateTime($item_user['mem_updated']);

# add a day to the object
$date -> add(new DateInterval('P1D')); 

错误,

Fatal error: Call to undefined method DateTime::add() in /homepages/xxx.php on line xx

所以,我一直在寻找其他解决方案,而不是坚持使用PHP5.3的DateTime对象。如何编写代码来替换上面的代码?

基本上我有来自mysql数据库的这个日期和时间数据(例如 - 2011-01-21 02:08:39),我只需要在该日期/时间添加1天或24小时,然后将其传递到下面的函数中,

$time_togo = time_togo($date -> format('Y-m-d H:i:s'));

感谢。

2 个答案:

答案 0 :(得分:2)

strtotime会起作用

$timestamp = strtotime($item_user['mem_updated']);    
$time_togo = date("Y-m=d H:i:s", strtotime("+1 Day", $timestamp));

答案 1 :(得分:1)

以下是一个例子:

$date = date('Y-m-d H:i:s');

$new_tstamp = strtotime($date.'+1WEEK');
$new_date = date('Y-m-d H:i:s', $new_tstamp);

换句话说,strtotime允许您使用+1DAY+1MONTH等日期表达式。

上述内容适用于日期字符串(例如:2010-01-01)。如果您的原始日期是Unix时间戳,您仍然可以使用strtotime,尽管有点不同:

$new_tstamp = strtotime('+1WEEK', $timestamp);