私の変数は$current
、2012-07-2418$row['start']
:00:00の形式です
次のように書くにはどうすればよいですか?
if ($row['start'] - $current < 2 hours) echo 'starts soon'
さらに、それを以下と組み合わせる方法はありますか?
<?php echo ($current > $row['start']) ? 'Started' : 'Starts'; ?>
私の変数は$current
、2012-07-2418$row['start']
: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) {
...
}