基于date_diff值的If Else语句

时间:2017-08-07 作者:Andrey Vasilkovsky

我对约会有问题。

我需要添加if-else逻辑来显示不同的内容。

它基于date_diff 价值观这里有一个问题:

如果今天的日期-post\\u modified date>=3小时,我需要显示按钮,如果差值小于3小时,则显示默认消息:“使用按钮前等待x分钟”。

我的努力如下:

<?php
  $now = new DateTime();
  $currentDateTime = $now->getTimestamp();
  $postUpdated = $post->post_modified;
  if ($currentDateTime - $postUpdated >= 1) :
?>
<button>Some value</button>
<?php  else:  ?>
 <p>Wait, please</p>
<?php endif; ?>
希望你能帮助我。非常感谢。

1 个回复
最合适的回答,由SO网友:Johansson 整理而成

您可以使用strtotime() 将时间转换为整数,然后执行条件。

// Get the current time
$now = strtotime("now");
// Convert post\'s modification time to int
$postUpdated = strtotime( $post->post_modified );
// Check if 3 hours has passed, each hour is 60*60 seconds
if ( $now - $postUpdated >= 3*60*60 ) {
    // First conditional
} else {
    // Second conditional
}
此外,如果已知时间格式(通常为0000-00-00 00 00:00:00),则可以直接使用strftime(). 下面是一个快速示例:

$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time() - 3*60*60);
现在有一个3小时前的格式化值,可以在中使用date_diff().

结束

相关推荐