我选择托管的服务器是在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'));
感谢。
答案 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);