2

私の変数は$current2012-07-2418$row['start'] :00:00の形式です

次のように書くにはどうすればよいですか?

if ($row['start'] - $current < 2 hours) echo 'starts soon'

さらに、それを以下と組み合わせる方法はありますか?

<?php echo ($current > $row['start']) ? 'Started' : 'Starts';  ?>
4

2 に答える 2

2

これらの日時文字列をタイムスタンプに変換するために使用できますstrtotime()。タイムスタンプは、相互に加算および減算できます。

$diff = strtotime($row['start']) - strtotime($current);
if ($diff < 7200) {
    echo 'Starts soon';
} else if ($diff <= 0) {
    echo 'Started';
} else {
    echo 'Starts';
}
于 2012-07-26T00:33:42.380 に答える
0

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) {
  ...
}
于 2012-07-26T00:35:49.230 に答える