我的变量,$current
格式$row['start']
为2012-07-24 18:00:00
我应该如何写以下内容?
if ($row['start'] - $current < 2 hours) echo 'starts soon'
另外有没有办法将它与下面的结合起来?
<?php echo ($current > $row['start']) ? 'Started' : 'Starts'; ?>
我的变量,$current
格式$row['start']
为2012-07-24 18:00:00
我应该如何写以下内容?
if ($row['start'] - $current < 2 hours) echo 'starts soon'
另外有没有办法将它与下面的结合起来?
<?php echo ($current > $row['start']) ? 'Started' : 'Starts'; ?>
您可以使用strtotime()
将这些日期时间字符串转换为时间戳,然后您可以彼此相加和相减。
$diff = strtotime($row['start']) - strtotime($current);
if ($diff < 7200) {
echo 'Starts soon';
} else if ($diff <= 0) {
echo 'Started';
} else {
echo 'Starts';
}
我建议在几秒钟内工作(从纪元开始),这 strtotime() 非常适合:
define("SOON_THRESHOLD", 2*60*60); // 7200 seconds == 2 hours
$start_time = strtotime($row['start']);
$current_time = strtotime($current);
$seconds_til_start = $start_time - $current_time;
if($seconds_til_start < SOON_THRESHOLD) {
...
}