$timeFromMysql = strtotime($createdtime);
$currenTime = SPRequest::now();;
if ($diff = abs( strtotime( $timeFromMysql ) - strtotime( $currenTime ) > 30*24*60*60) {
ACTION
}
我只是想知道我这样做是否正确。似乎该动作是在没有时间检查的情况下完成的。
你的父母不匹配。
if ($diff = abs( strtotime( $timeFromMysql ) - strtotime( $currenTime ) ) > 30*24*60*60) {
//ACTION
}
进一步分解:
if (
$diff = abs(
strtotime( $timeFromMysql ) - strtotime( $currenTime )
) > 30*24*60*60)
{
//ACTION
}
数一数你的括号并确保它们匹配。
我收到以下错误:
PHP 通知:DateInterval 类的对象无法在规则 128 中转换为 int blabla
这是代码(128):
if ( $difference > 30*24*60*60) {
有关更多信息,这里是一个更大的代码:
$timeFromMysql = strtotime($createdtime);
$currenTime = SPRequest::now();
function format_interval(DateInterval $interval) {
$result = "";
if ($interval->y) { $result .= $interval->format("%y years "); }
if ($interval->m) { $result .= $interval->format("%m months "); }
if ($interval->d) { $result .= $interval->format("%d days "); }
if ($interval->h) { $result .= $interval->format("%h hours "); }
if ($interval->i) { $result .= $interval->format("%i minutes "); }
if ($interval->s) { $result .= $interval->format("%s seconds "); }
return $result;
}
$first_date = new DateTime($createdtime);
$second_date = new DateTime($currenTime);
$difference = $first_date->diff($second_date);
//echo format_interval($difference);
//echo $createdtime;
//echo $currenTime;
if ( $difference > 30*24*60*60) {
// load the apicall
$xml = simplexml_load_file($api);
}
回声工作正常。
您不检查是否等于 - 您将值分配给 $diff,这始终是正确的。所以:
$diff ==